控件中国网现已改版,您看到的是老版本网站的镜像,系统正在为您跳转到新网站首页,请稍候.......
中国最专业的商业控件资讯网产品咨询电话:023-67870900 023-67871946
产品咨询EMAIL:SALES@COMPONENTCN.COM

排序算法

作者:佚名 出处:互联网 2011年09月01日 阅读:

排序算法

01 /// <SUMMARY> 

02 /// 冒泡排序 

03 /// </SUMMARY> 

04 public void BubbleSort(int[] sortItems) 

05 { 

06     for (int i = 0; i < sortItems.Length; i++) 

07     { 

08         for (int j = sortItems.Length - 2; j >= i; j--) 

09         { 

10             if (sortItems[j + 1] < sortItems[j]) 

11             { 

12                 //---------  实现交换  --------- 

13                 int temp = sortItems[j]; 

14                 sortItems[j] = sortItems[j + 1]; 

15                 sortItems[j + 1] = temp; 

16                 //---------  实现交换  --------- 

17             } 

18         } 

19     } 

20 }
view sourceprint?01 /// <SUMMARY> 

02 /// 冒泡排序(优化版) 

03 /// </SUMMARY> 

04 public void BubbleSortImproved(int[] sortItems) 

05 { 

06     int i, j, temp; 

07     bool flag = true; 

08     i = 0; 

09     while (i < sortItems.Length && flag) 

10     { 

11         flag = false; 

12         for (j = sortItems.Length - 2; j >= i; j--) 

13         { 

14             if (sortItems[j + 1] < sortItems[j]) 

15             { 

16                 //---------  实现交换  --------- 

17                 temp = sortItems[j]; 

18                 sortItems[j] = sortItems[j + 1]; 

19                 sortItems[j + 1] = temp; 

20                 //---------  实现交换  --------- 

21                 flag = true;    //有数据交换,flag设为true; 

22             } 

23         } 

24         i++; 

25     } 

26 }
view sourceprint?01 /// <SUMMARY> 

02 /// 简单选择排序 

03 /// </SUMMARY> 

04 public void SimpleSelectionSort(int[] sortItems) 

05 { 

06     int i, j, min, temp; 

07     for (i = 0; i < sortItems.Length; i++) 

08     { 

09         min = i; 

10         for (j = i + 1; j < sortItems.Length; j++) 

11         { 

12             if (sortItems[min] > sortItems[j]) 

13             { 

14                 min = j; 

15             } 

16         } 

17         temp = sortItems[min]; 

18         sortItems[min] = sortItems[i]; 

19         sortItems[i] = temp; 

20     } 

21 }
view sourceprint?01 /// <SUMMARY> 

02 /// 直接插入排序 

03 /// </SUMMARY> 

04 public void StraightInsertionSort(int[] sortItems) 

05 { 

06     int i, j, temp; 

07     for (i = 1; i < sortItems.Length; i++) 

08     { 

09         temp = sortItems[i]; 

10         j = i; 

11         while (j > 0 && sortItems[j - 1] > temp) 

12         { 

13             sortItems[j] = sortItems[j - 1]; 

14             j--; 

15         } 

16         sortItems[j] = temp; 

17     } 

18 }
 

热推产品

  • ActiveReport... 强大的.NET报表设计、浏览、打印、转换控件,可以同时用于WindowsForms谀坔攀戀Forms平台下......
  • AnyChart AnyChart使你可以创建出绚丽的交互式的Flash和HTML5的图表和仪表控件。可以用于仪表盘的创......
首页 | 新闻中心 | 产品中心 | 技术文档 | 友情连接 | 关于磐岩 | 技术支持中心 | 联系我们 | 帮助中心 Copyright-2006 ComponentCN.com all rights reserved.重庆磐岩科技有限公司(控件中国网) 版权所有 电话:023 - 67870900 传真:023 - 67870270 产品咨询:sales@componentcn.com 渝ICP备12000264号 法律顾问:元炳律师事务所 重庆市江北区塔坪36号维丰创意绿苑A座28-5 邮编:400020
在线客服
在线客服系统
在线客服
在线客服系统