C语言嵌套for循环实现冒泡排序
使用嵌套for循环实现冒泡排序的一个函数。
#include<stdio.h> /** * 介绍: * 使用嵌套for循环实现冒泡排序,由小到大(上小下大)。 * 参数: * sum[]:整型数组 * number:数组长度 * 补充: * C语言中数组名作为参数的传递方法为值传递,即不需要返回值,直接改动原参内容。 * 作者: * 路人甲 * */ void maoPao(int sum[], int number) { /* //大的数往下冒,然后不考虑下面的 for (int i = 0; i < number - 1; i++) { for (int j = 0; j < number - 1 - i; j++) { if (sum[j] > sum[j + 1]) { //此处若将 > 改成 < ,即可将排序变为由大到小 int temp = sum[j]; sum[j] = sum[j + 1]; sum[j + 1] = temp; } } } */ //小的数往上冒,然后不考虑上面的 for (int i = 0; i < number - 1; i++) { for (int j = number - 2; j >= i; j--) { if (sum[j] > sum[j + 1]) { //此处若将 > 改成 < ,即可将排序变为由大到小 int temp = sum[j]; sum[j] = sum[j + 1]; sum[j + 1] = temp; } } } } /** * 函数介绍: * 程序入口。 */ int main() { int sum[]={1,7,42,32,11,79,53,12}; maoPao(sum,8); for(int i=0;i<8;i++){ printf("%d\n",sum[i]); } return 0; }
程序运行结果: