冒泡排序的基本思想是:每次比较两个相邻的元素,如果它们的顺序错误就把它们交换过来。
代码实现如下:
#include <stdio.h> int main() { //冒泡排序.此处是由大到小 //先确定变量 //赋初始值 //循环输入数值 //循环输出数值 printf("冒泡排序\n"); int book[100], i, j, t, n; printf("请输入数值个数:"); scanf("%d", &n); for (i = 1; i <= n;i++) { printf("第%d个数:",i); scanf("%d", &book[i]); } //冒泡排序核心部分 for (i = 1; i <= n - 1;i++) { //有n个数就比较n-1趟,因为每个数都要作为主数跟别的数比较一次 for (j = 1; j <= n - i;j++) { //每趟比较次数为n-i,因为已经归位的数不用再比较 if (book[j]<book[j+1]) { //如果前者小于后者,就交换位置 t = book[j]; book[j] = book[j+1]; book[j + 1] = t; } } } printf("排序结果:\n"); for (i = 1; i <=n; i++) printf("%d\t",book[i]); getchar(); getchar(); return 0; }
结果运行结果是:
时间: 2024-11-08 21:35:30