首页 | 麦客学吧 | 视频教程 | FLASH小游戏 | 素材下载 | 常用工具
您当前的位置:首页 > 程序开发 > C# > 正文

数据结构(C#)_排序算法(冒泡排序)

出处:麦客学吧 [2008-3-12 8:49:10] 点击数:551
    今天主要是将排序算法中最简单的冒泡排序。所谓冒泡排序就是在每一次排序的过程中总有一个最大的值被移动到后面,值小的就像水泡一样浮到水面。下面我们就看一下代码,重要的地方都有注释,大家可以看注释。 
1 class SortingAlgorithms 

2 { 
3 private int[] arr; 
4 private int upper; 
5 private int numElement; 

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 //冒泡排序 
34 public void BubbleSort() 
35 { 
36 int Temp; 
37 //外循环是限制一次冒泡排序比较的元素个数 
38 for (int Outer = upper; Outer >= 1; Outer--) 
39 { 
40 //一次冒泡排序比较0~ourter-1个元素的大小 
41 for (int Inner = 0; Inner <= Outer-1; Inner++) 
42 { 
43 //排序过程 
44 if (arr[Inner] > arr[Inner + 1]) 
45 { 
46 Temp = arr[Inner]; 
47 arr[Inner] = arr[Inner + 1]; 
48 arr[Inner + 1] = Temp; 
49 } 
50 } 
51 } 
52 //this.DisplayElement(); 
53 } 
54 
55 } 
56 
57一下是调用算法的过程: 
58 static void Main(string[] args) 
59 { 
60 SortingAlgorithms MyArray = new SortingAlgorithms(10); 
61 Random rnd = new Random(100); 
62 for (int i = 0; i < 10; i++) 
63 { 
64 MyArray.Insert((int)(rnd.NextDouble()*100)); 
65 } 
66 Console.WriteLine("Before Sorting:"); 
67 MyArray.DisplayElement(); 
68 //进行排序 
69 MyArray.BubbleSort(); 
70 Console.WriteLine("After sorting"); 
71 //打印排序后的元素 
72 MyArray.DisplayElement(); 
73 } 

【责任编辑: lanier

游客 2008-3-16 21:04:17 说:
呵呵~~这个算法不那么好啊~~
昵 称:麦客网友[游客]  如果您不想匿名评论请先登录注册
评 论:请自觉遵守互联网相关政策法规,管理员有权删除恶意评论、广告和违禁词语。

验证码: 验证码,看不清楚?请点击刷新验证码    
麦客酷站赏析频道

精彩图文推荐

关于本站 - 联系站长 - 广告服务 - 合作伙伴 - 网站地图 - 版权声明 - 报告错误 - 收藏本站 | Http://www.MaiCoo.com

Copyright © 2005 - 2008 MaiCoo.com All Rights Reserved

违法和不良信息举报中心 本站服务器空间和带宽由雷克斯网络提供赞助
浙ICP备06017818号