利用冒泡排序最基础的排序方法,理解排序和算法思路
以6个元素为例
#include<cstdio>
int main()
{
int array[5];
int t;
for(int j =0;j<6;j++)
{
scanf("%d",&array[j]);//对6个元素进行赋值
}
for(int i = 1;i<=5;i++)
{
//循环n-1次,因为后面有k+1
for(int k = 0;k<6-i;k++) //不断减少对比次数,因为随着循环不断把小的数往前排,对比次数不断减少
{
if(array[k]>array[k+1])
{
t=array[k];
array[k]=array[k+1]; //利用中间值转换法进行换值
array[k+1]=t;
}
}
}
for(int i = 0;i<6;i++)
{
printf("%d ",array[i]); //最后输出排序后的值
}
return 0;
}
我感觉难点是减少对比次数,想要真正掌握少不了理解和记忆()。