冒泡法
冒泡法解决排序问题
对于数组A[0…n-1],用冒泡法实现非降序排序
实验原理
首先将所有待排序的数字放入工作列表,从列表的第一个数字到倒数第二个数字逐个检查,若前一位的数字大于后一位的数字,则交换位置,重复操作,直至不能交换。
代码解释
int main()
{
void BubbleSort(int[]);
int a[10];
int i,j,temp;
printf("请输入a[10]的十个数字:");
for(i=0;i<10;i++)
scanf("%d",&a[i]);
printf("\n");
BubbleSort(a);
printf("排序后的列表为:\n");
for(j=0;j<10;j++)
printf("%3d",a[j]);
printf("\n\n");
getch();
}
void BubbleSort(int array[])
{
int i,j,temp;
for(j=0;j<9;j++)
for(i=0;i<9-j;i++)
if(array[i]>array[i+1])
{
temp=array[i];
array[i]=array[i+1];
array[i+1]=temp;
}
}
运行截图
算法分析
时间复杂度为O(n²),效率不高,但是很容易实现。
个人总结
代码运行简单,操作难度不大 ——小明同学