大一刚接触c语言的时候,我用的最多就是冒泡排序。
用一个数组存一组数据,利用冒泡排序把它们进行从小到大进行排序。 其中主要部分就是理解,当第j个元素大于第j+1个元素时,两个元素进行位置互换;m用来暂存其中一个元素,不能直接a[j]=a[j+1],否则原来a[j]的数据会被覆盖。就像一杯水和一杯可乐,你想让他们互换杯子装,我们必须要用第三个杯子暂存放其中一样。
代码如下:
#include<stdio.h>
#define t 5 //宏定义一个数,数组的长度
int main(){
int a[t];int m;
for(int i=0;i<t;i++)
scanf("%d",&a[i]);
for(int i=0;i<t-1;i++){
for(int j=0;j<t-i-1;j++){
if(a[j]>a[j+1]){
m=a[j];
a[j]=a[j+1];
a[j+1]=m;
}
}
}
for(int i=0;i<t;i++){
printf("%d ",a[i]);
}
return 0;
}
输出如下:
冒泡排序我觉得还是很简单的吧。可能刚接触编程语言不好理解,这也可以死记硬背,学编程有很大一部分都是背代码呢,熟能生巧。
学编程要有耐心。