鸡尾酒排序、选择排序

鸡尾酒排序
写算法,不只是需要看算法,而且是需要纸笔,还有一台电脑………………
ContractedBlock.gif ExpandedBlockStart.gif Code
 1 private void getInts(ref int[] myints)
 2     {
 3         int low, up, index, i;
 4         low = 0;
 5         up = myints.Length - 1;
 6         index = low;
 7         while (up > low)
 8         {
 9             for (i = low; i < up; i++)
10             {
11                 if (myints[i] > myints[i + 1])
12                 {
13                     changes(ref myints[i],ref myints[i + 1]);
14                     index = i;
15                 }
16             }
17 //从前往后扫描,将最大的踢到后面去
18             up = index;
19             for (i = up; i > low; i--)
20             {
21                 if (myints[i] < myints[i - 1])
22                 {
23                     changes(ref myints[i], ref myints[i - 1]);
24                     index = i;
25                 }
26             }
27 //从最大的位置往前扫描,将最小的放到前面去
28             low = index;
29         }
30         return myints;
31     }
32 //交换两个值
33     void changes(ref int a1, ref int a2)
34     {
35         int tep = a1;
36         a1 = a2;
37         a2 = tep;
38 
选择排序
选择排序是相当的直观,简单,挑出最值,放到开始元素……不停的放就ok了
ContractedBlock.gif ExpandedBlockStart.gif Code
 1 void changes(ref int a1, ref int a2)
 2     {
 3         int tep = a1;
 4         a1 = a2;
 5         a2 = tep;
 6     }
 7 
 8     void getSelectInts(ref int[] myints)
 9     {
10         int smallest;
11         for (int i = 0; i < myints.Length-1; i++)
12         {
13             smallest = myints[i];
14             for (int j = i + 1; j < myints.Length; j++)
15             {
16                 if (myints[j] < smallest)
17                 {
18                     changes(ref myints[j],ref smallest);
19                 }
20             }
21             myints[i] = smallest;
22         }
23 

转载于:https://www.cnblogs.com/xbihuj/archive/2009/08/06/1540012.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值