首页 > 代码库 > C语言:冒泡排序
C语言:冒泡排序
void sort(int arr[],int len) { int tmp = -1; for(int i = 1 ; i<len; i++) { printf("第%d轮:\n", i); // len-i+1:新轮比上轮可以少一次比较,-i // i从1开始,第一轮不能少,故+1以修正 for(int j = 1; j < len-i+1; j++) { if (arr[j-1] > arr[j]) { tmp = arr[j-1]; arr[j-1] = arr[j]; arr[j] = tmp; } printArr(arr, len); } }}void printArr(int arr[],int len ) { for(int i = 0 ; i<len; i++) { printf("%d ", arr[i]); } printf("\n");}
main中调用
int a[] = {5,4,3,2,1}; sort(a, 5);
输出结果:
第1轮:4 5 3 2 14 3 5 2 14 3 2 5 14 3 2 1 5第2轮:3 4 2 1 53 2 4 1 53 2 1 4 5第3轮:2 3 1 4 52 1 3 4 5第4轮:1 2 3 4 5
C语言:冒泡排序
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。