当前位置:文档之家› 冒泡排序的算法详解

冒泡排序的算法详解


1
38
2
49
3
65
4
76
5
13
6
27
7
49
8
97
序号 数据
1 38
2 49
3 65
4 76
5 13
6 27
7 49
8 97
49<65, 保持不变
序号 数据
1 38
2 49
3 65
4 76
5 13
6 27
7 49
8 97
序 号 数 据
1
2
3
4
5
6
7
8
38
49
65
76
13
27
49
97
65<76, 保持不变
//存入一个数组。排序前的数据 Console.Write("排序前的数据顺序:"); for (i = 0; i < 10; i++) { Console.Write("{0,4}", a[i]); } //用冒泡法对这个数作升序排序 for (i = 0; i <10;i++ )// 元素的个数。 { for (j = 0; j <9; j++)// 相邻的2个数比较,每次都要比较9次 。 要比较的次数比元素个数少1次 { if (a[j] > a[j + 1]) { temp = a[j]; a[j] = a[j + 1]; a[j + 1] = temp; } } }
// 冒泡排序后的数据顺序 Console.Write("\n排序后的数据顺序:"); for (i = 0; i < 10; i++) { Console.Write("{0,4}", a[i]); } Console.ReadKey(); } } }
以上就是一个冒泡排序的C#代码
7
8
数据
38
49
65
97
76
13
27
49
65<97, 保持不变 序号 数据 1 38 2 49 3 65 4 97 5 76 6 13 7 27 8 49
序号 数据
1 38
2 49
3 65
4 97
5 76
6 13
7 27
8 49
97>76, 交换位置
序号
数据
1
38
2
49
3
65
4
76
5
97
6
13
7
27
49>38,交换位置
序号 数据 1 38 2 49 3 65 4 97 5 76 6 13 7 27 8 49
序号 数据
1 38
2 49
3 65
4 97
5 76
6 137 27源自8 4949<65, 保持不变 序号 1 2 3 4 5 6 7 8
数据
38
49
65
97
76
13
27
49
序号
1
2
3
4
5
6
8
49
序号 数据
1 38
2 49
3 65
4 76
5 97
6 13
7 27
8 49
97>13, 交换位置 序号 数据 1 38 2 49 3 65 4 76 5 13 6 97 7 27 8 49
序号
数据
1
38
2
49
3
65
4
76
5
13
6
97
7
27
8
49
97>27, 交换位置
序号 数据 1 38 2 49 3 65 4 76 5 13 6 27 7 97 8 49
65
13
27
49
76
97
76<97, 保持不变 序号 1 2 3 4 5 6 7 8
数据
38
49
65
13
27
49
76
97
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace 冒泡排序 {//编一个程序,从键盘输入10个实数,存入一个数组,用冒泡法对这个数作升序排序 class Program { static void Main(string[] args) { int i, j; int temp; int [] a = new int [10]; // 从键盘输入10个实数 Console.WriteLine ("请输入10个实数:"); for (i = 0; i < 10;i++ ) { Console.Write("请输入第{0}个数:",i); a[i] = int.Parse(Console.ReadLine ()); }
76>27, 交换位置 序号 1 2 3 4 5 6 7 8
数据
38
49
65
13
27
76
49
97
序号 数据
1 38
2 49
3 65
4 13
5 27
6 76
7 49
8 97
76>49, 交换位置
序号 数据
1 38
2 49
3 65
4 13
5 27
6 49
7 76
8 97
序号
1
2
3
4
5
6
7
8
数据
38
49
序号 数据 1 38 2 49 3 65 4 76 5 13 6 27 7 49 8 97
序号
1
2
3
4
5
6
7
8
数据
38
49
65
76
13
27
49
97
76>13, 交换位置
序号 数据
1 38
2 49
3 65
4 13
5 76
6 27
7 49
8 97
序号
数据
1
38
2
49
3
65
4
13
5
76
6
27
7
49
8
97
例:用冒泡排序的方法将下面一组无序数组 排成从小到大的顺序。 { 49,38,65,97,76,13,27,49 } 分析:首先为了方便分析,我们把所给的数据 先用一个表格列出来,如下:
原始数据 序号 数据 1 49 2 38 3 65 4 97 5 76 6 13 7 27 8 49
第一趟排序的步骤:
冒牌排序详解:
// 编一个程序,从键盘输入10个实数,存入一个数组,用冒泡法对这个数作升序排序。
/*冒泡排序算法的运作如下: 1.比较相邻的元素。如果第一个比第二个大,就交换他们两个。 2.对每一对相邻元素作同样的工作,从开始第一对到结尾的最后一对。在这一点,最后的元素应该会是 最大的数。 3.针对所有的元素重复以上的步骤,除了最后一个。 4.持续每次对越来越少的元素重复上面的步骤,直到没有任何一对数字需要比较。 */
序号
数据
1
38
2
49
3
65
4
76
5
13
6
27
7
97
8
49
97>49, 交换位置
序号
数据
1
38
2
49
3
65
4
76
5
13
6
27
7
49
8
97
第一趟排序后的数据和序号
序号 数据 1 38 2 49 3 65 4 76 5 13 6 27 7 49 8 97
第二趟排序的步骤: 38<49,保持不变
序号
数据
相关主题