设为首页 加入收藏

TOP

详解冒泡排序法
2019-03-31 22:12:04 】 浏览:22
Tags:详解 冒泡 排序

冒泡排序是一种简单的排序算法。

它重复地走访过要排序的数列,一次比较两个元素,如果他们的顺序错误就把他们交换过来。

 1 /*//冒泡排序法
 2 #include<stdio.h>
 3 #define N 5
 4 #include<stdlib.h>
 5 
 6 int main()
 7 {
 8     int i, j;//循环变量
 9     int temp;//用来交换的临时变量
10     int nums[N] = { 16,25,9,90,23 };
11     //外层循环控制轮数
12     for (i = 0; i < N - 1; i++)//5个数只用比较4次,所以 N - 1
13     {
14           for (j = 0; j < N - i - 1; j++)//内层循环控制 每轮的比较次数
15           {
16             if (nums[j] > nums[j + 1])
17             //如果前面的一个数小于后面的一个值,那么进行交换
18             {
19                 temp = nums[j];
20                 nums[j] = nums[j + 1];
21                 nums[j + 1] = temp;
22             }            
23            }         
24     }
25     printf("排序后的结果:\n");
26     for (i = 0; i < N; i++)
27     {
28         printf("%d\t", nums[i]);
29     }
30     return 0;
31 }
32 */
冒泡排序算法的原理如下:
  1. 比较相邻的元素。如果第一个比第二个大,就交换他们两个。
  2. 对每一对相邻元素做同样的工作,从开始第一对到结尾的最后一对。在这一点,最后的元素应该会是最大的数。
  3. 针对所有的元素重复以上的步骤,除了第一个。
  4. 持续每次对越来越少的元素重复上面的步骤,直到没有任何一对数字需要比较。

编程开发网
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
上一篇第一章:UNIX基础知识 下一篇递归的简单用法

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容:

array(4) { ["type"]=> int(8) ["message"]=> string(24) "Undefined variable: jobs" ["file"]=> string(32) "/mnt/wp/cppentry/do/bencandy.php" ["line"]=> int(214) }