排序算法--冒泡排序(Bubble Sort)_C#程序实现
2018-04-15 22:03
453 查看
排序算法--冒泡排序(Bubble Sort)_C#程序实现
排序(Sort)是计算机程序设计中的一种重要操作,也是日常生活中经常遇到的问题。例如,字典中的单词是以字母的顺序排列,否则,使用起来非常困难。同样,存储在计算机中的数据的次序,对于处理这些数据的算法的速度和简便性而言,也具有非常深远的意义。
1.基本概念
排序是把一个记录(在排序中把数据元素称为记录)集合或序列重新排列成按记录的某个数据项值递增(或递减)的序列。
2冒泡排序(Bubble Sort)
冒泡排序是一种简单的排序算法。它重复地走访过要排序的数列,一次比较两个元素,如果它们的顺序错误就把它们交换过来。走访数列的工作是重复地进行直到没有再需要交换,也就是说该数列已经排序完成。这个算法的名字由来是因为越小的元素会经由交换慢慢“浮”到数列的顶端。
2.1算法描述
- 比较相邻的元素。如果第一个比第二个大,就交换它们两个;
- 对每一对相邻元素作同样的工作,从开始第一对到结尾的最后一对,这样在最后的元素应该会是最大的数;
- 针对所有的元素重复以上的步骤,除了最后一个;
- 重复步骤1~3,直到排序完成。
2.2动态图演示
2.3C#代码实现冒泡排序
冒泡排序
/// <summary> /// 01冒泡排序 /// </summary> /// <param name="array">要排序的整数数组</param> public static int[] BubbleSort(int[] array) { for (int i = 0; i < array.Length; i++) { for (int j = 0; j < array.Length - 1 - i; j++) { //比较相邻的两个元素,如果前面的比后面的大,则交换位置 if (array[j] > array[j + 1]) { int temp = array[j + 1]; array[j + 1] = array[j]; array[j] = temp; } } printArray(array); Console.WriteLine("第"+(i+1)+"趟"); } return array; }
打印数组
/// <summary> /// 打印数组 /// </summary> /// <param name="array"></param> private static void printArray(int[] array) { if (array == null || array.Length <= 0) { return; } for (int i = 0; i < array.Length; i++) { Console.Write("["+array[i]+"]"+","); } }
测试代码:
//冒泡排序 int[] arrayTest = new int[] {9,8,5,6,7,4,3,2,1 }; Console.WriteLine("------------原数组--------------"); printArray(arrayTest); Console.WriteLine("\n------------冒泡排序--------------"); int[] resultArray = BubbleSort(arrayTest); Console.WriteLine("排序结果:"); printArray(resultArray);
运行结果:
相关文章推荐
- C#实现所有经典排序算法(选择排序 冒泡排序 快速排序)
- C#实现所有经典排序算法(选择排序 冒泡排序 快速排序)
- 图解排序算法及C语言实现之 ------ 冒泡排序:Bubble Sort
- C#小练习(设计一个程序,输入10个数存入数组中,然后实现冒泡排序。 )
- 排序算法--选择排序(Selection Sort)_C#程序实现
- C#实现所有经典排序算法(选择排序 冒泡排序 快速排序)
- PHP实现排序算法----冒泡排序(Bubble Sort)
- 排序算法--希尔排序(Shell Sort)_C#程序实现
- C#实现的3种排序算法--冒泡排序、选择排序、插入排序
- 排序算法--插入排序(Insertion Sort)_C#程序实现
- C#第1次试验(4)设计一个程序,输入10个数存入数组中,然后实现冒泡排序
- C#实现的3种排序算法--冒泡排序、选择排序、插入排序
- PHP排序算法之冒泡排序(Bubble Sort)实现方法详解
- C#实现所有经典排序算法(选择排序,冒泡排序,快速排序,插入排序,希尔排序)
- 改善C#程序的建议4:C#中标准Dispose模式的实现
- Thrift 简单实现C#通讯服务程序 (跨语言 MicroServices)
- C#程序实现动态调用DLL的研究
- C#实现排序算法
- 写程序+控制cpu占用率-4+绘制CPU使用率的正弦曲线2+C#+实现
- C#中实现程序开机自启动