第2章答案

2.1插入排序算法:c#语言实现

 1 static void Main(string[] args)
 2 {
 3     Console.WriteLine("请输入要排序数组的长度:");
 4     int length=int.Parse(Console.ReadLine());
 5     int[] insertSort=new int[length];
 6     Console.WriteLine("请输入要排序的数:");
 7     for (int i = 0; i < length;i++ )
 8     {
 9          insertSort[i] = int.Parse(Console.ReadLine());
10     }
11     //开始排序:
12     int k = 0,key = 0;
13     for (int j = 1; j < length;j++ )
14     {
15          key=insertSort[j];
16          k = j - 1;
17          while (k>=0 && insertSort[k]>key)
18          {
19               insertSort[k + 1] = insertSort[k];
20               k = k - 1;
21               insertSort[k + 1] = key;
22           }
23       }
24       Console.WriteLine("排序结果为:");
25       for (int i = 0; i < length;i++ )
26       {
27           Console.WriteLine(insertSort[i]);
28       }
29       Console.ReadKey();
30}

运行结果:

初学者不要感觉简单,一带而过要真正的理解过程,请仔细体会第17行代码的while语句,最好是设断点一步一步走一遍就清晰了。

2.1-2 按非升序排序

和非降序的没什么区别,将insertSort[k]>key改写成insertSort[k]<key即可!

转载于:https://www.cnblogs.com/Seek-logic/archive/2013/05/27/3102504.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值