简单介绍C#冒泡排序

今天主要是将排序算法中最简单的C#冒泡排序。所谓C#冒泡排序就是在每一次排序的过程中总有一个最大的值被移动到后面,值小的就像水泡一样浮到水面。下面我们就看一下代码,重要的地方都有注释,大家可以看注释。

C#冒泡排序代码:

 
 
 
  1. class SortingAlgorithms  
  2. {  
  3. private int[] arr;  
  4. private int upper;  
  5. private int numElement;  
  6.  
  7. //初始化数组  
  8. public SortingAlgorithms(int size)  
  9. {  
  10. arr = new int[size];  
  11. upper = size - 1;  
  12. numElement = 0;  
  13. }  
  14.  
  15. //给数组插入元素  
  16. public void Insert(int item)  
  17. {  
  18. arr[numElement] = item;  
  19. numElement++;  
  20. }  
  21.  
  22. //打印数组元素  
  23. public void DisplayElement()  
  24. {  
  25. for (int i = 0; i <= upper; i++)  
  26. {  
  27. Console.WriteLine(arr[i] + " ");  
  28. }  
  29. Console.ReadLine();  
  30. }  
  31.  
  32. //冒泡排序  
  33. public void BubbleSort()  
  34. {  
  35. int Temp;  
  36. //外循环是限制一次冒泡排序比较的元素个数  
  37. for (int Outer = upper; Outer >= 1; Outer--)  
  38. {  
  39. //一次冒泡排序比较0~ourter-1个元素的大小  
  40. for (int Inner = 0; Inner <= Outer-1; Inner++)  
  41. {  
  42. //排序过程  
  43. if (arr[Inner] > arr[Inner + 1])  
  44. {  
  45. Temp = arr[Inner];  
  46. arr[Inner] = arr[Inner + 1];  
  47. arr[Inner + 1] = Temp;  
  48. }  
  49. }  
  50. }  
  51. //this.DisplayElement();  
  52. }  
  53.  
  54. }  
  55.  
  56. 一下是调用算法的过程:  
  57. static void Main(string[] args)  
  58. {  
  59. SortingAlgorithms MyArray = new SortingAlgorithms(10);  
  60. Random rnd = new Random(100);  
  61. for (int i = 0; i < 10; i++)  
  62. {  
  63. MyArray.Insert((int)(rnd.NextDouble()*100));  
  64. }  
  65. Console.WriteLine("Before Sorting:");  
  66. MyArray.DisplayElement();  
  67. //进行排序  
  68. MyArray.BubbleSort();  
  69. Console.WriteLine("After sorting");  
  70. //打印排序后的元素  
  71. MyArray.DisplayElement();  
  72. }  

【编辑推荐】

  1. 简单介绍C#预处理
  2. 学习C#无词尾符号经验谈
  3. C#调用QuickTest自动化
  4. 详解C#正规表达式
  5. C#字符串插入html标签

网站标题:简单介绍C#冒泡排序
链接URL:http://www.shufengxianlan.com/qtweb/news19/349119.html

网站建设、网络推广公司-创新互联,是专注品牌与效果的网站制作,网络营销seo公司;服务项目有等

广告

声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联