题目要求
编写一个C语言程序,实现基本的冒泡排序算法.
算法
冒泡排序,用一句话来总结:
一组数中,相邻的两个数进行比较、交换,将最大(小)数交换至尾(首)部,即完成了一次冒泡排序
要想对N个数字进行排序,循环N次即可.
如果真的不理解冒泡排序算法,请点击:冒泡排序_360百科
核心代码
//方式一:从头向尾遍历,将最大数(相对)沉入尾部(相对)
void BubbleSort1(int *arr,int sz){
int i = 0;
int j = 0;
assert(arr);
for(i=0;i
for(j=0;j
if(arr[j]>arr[j+1]){
int tmp = arr[j];
arr[j] = arr[j+1];
arr[j+1] = tmp;
}
}
}
}
//方式二:从尾向头遍历,将最大数(相对)冒泡到头部(相对)
void BubbleSort2(int *arr,int sz){
int i = 0;
int j = 0;
assert(arr);
for(i=0;i
for(j=sz;j>i;j--){
if(arr[j]>arr[j-1]){
int tmp = arr[j];
arr[j] = arr[j-1];
arr[j-1] = tmp;<