python 数据结构算法
程序员文章站
2022-07-07 12:50:40
本周一直在洛谷上刷题,通过刷题来学习与巩固c语言以及python所学习的知识,于是便将几道比较有意思的题目整理出来。一丶冒泡排序这周通过做题而去学习了冒泡排序冒泡排序是一种计算机科学领域的较简单基础的排序算法。其基本思路是,对于一组要排序的元素列,依次比较相邻的两个数,将比较小的数放在前面,比较大的数放在后面,如此继续,直到比较到最后的两个数,将小数放在前面,大数放在后面,重复步骤,直至全部排序完成。上代码#includeint main(void)...
本周一直在洛谷上刷题,通过刷题来学习与巩固c语言以及python所学习的知识,于是便将几道比较有意思的题目整理出来。
一丶冒泡排序
这周通过做题而去学习了冒泡排序
冒泡排序是一种计算机科学领域的较简单基础的排序算法。其基本思路是,对于一组要排序的元素列,依次比较相邻的两个数,将比较小的数放在前面,比较大的数放在后面,如此继续,直到比较到最后的两个数,将小数放在前面,大数放在后面,重复步骤,直至全部排序完成。
上代码
#include<stdio.h>
int main(void)
{
int a[10],i,j;
for(i=0;i<3;i++)
{
scanf("%d",&a[i]);
}
for(i=0;i<2;i++)
{
for(j=0;j<3-i-1;j++)
{
if(a[j]>a[j+1])
{
int temp=a[j];
a[j]=a[j+1];
a[j+1]=temp;
}
}
}
for(i=0;i<3;i++)
{
printf("%d ",a[i]);
}
}
本周学习了循环与数组并通过算法题来巩固了这些基础知识,在学c的同时也将python更好的巩固了一下。
二丶关于鸡兔同笼问题使用python的不同解法。
1.公式法(通过解方程的公式推导直接求解)。
tou=int(input("请输入头的数量="))
tui=int(input("请输入腿的数量="))
y=(tui-2*tou)/2
x=tou-y
print("鸡的数量为=%d"%x)
print("兔子的数量为=%d"%y)
2.for循环法
a=int(input("头:"))
b=int(input("腿:"))
for i in range(0,a+1):
tu=i
ji=a-i
if tu*4+ji*2==b:
print("兔子:",tu)
print("鸡:",ji)
三丶求最大蓄水量。
a=[1,8,6,2,5,4,8,3,7]
water=[]#该列表用于记录所有可能的蓄水量
for i in range(len(a)-1):#从第一个数字取到倒数第二个数字
b=a[i]
for j in range(i+1,len(a)):#从上一个循环取到数字的下一个数字一直到列表最后一个数字
#两次循环中所取列表数字谁比较小就将谁作为容器的高度
if a[i]<=a[j]:
water.append(a[i]*(j-i))
else:
water.append(a[j]*(j-i))
print(max(water))#选出最大的蓄水量
本文地址:https://blog.csdn.net/jianbaitou/article/details/110704855
上一篇: 一直被微商遗忘的巨大流量平台
下一篇: *旅游购物全攻略