首页 > 编程语言 > 详细

数组--插入排序法

时间:2015-12-06 16:04:15      阅读:129      评论:0      收藏:0      [点我收藏+]

1、什么是插入排序:

  将待排序数列分为两部分:有序数据和待插入元素。

  插入排序的基本操作是将一个待插入数据插入到一组有序数据中,把将要插入的数与各数据进行比较,当找到第一个比插入数大的元素时,该元素之前为插入位置。

 1 namespace ConsoleApplication1
 2 {
 3     class Program
 4     {
 5         static void bubble_sort(int[] unsorted)
 6          {
 7             //这一层for循环,决定接收变量(最后一个可不参加)
 8              for (int i = 1; i < unsorted.Length; i++)
 9              {
10                  int insert=unsorted[i];//声明一个保存插入值的变量
11                  int j=0;//声明一个记录下标的变量(可以得到向后移一位的起点下标元素)
12                  while (j < i && insert > unsorted[j])
13                  {
14                      j++;
15                  }
16                  //用for循环进行后移操作
17                  for (; j < i; i--)
18                  { 
19                     unsorted[i]=unsorted[i-1];
20                  }
21                  //进行插入交换
22                  unsorted[j] = insert;
23              }
24          }
25  
26          static void Main(string[] args)
27          {
28              int[] x = { 6, 2, 4, 1, 5, 9,3,7 };//声明一个整型数组,并赋值
29              //排序前数组
30              Console.Write("排序前:");
31              foreach (var item in x)
32              {
33                  Console.Write(item+" ");
34               }
35              bubble_sort(x);//调用冒泡排序方法
36              //排序后数组
37              Console.Write("\n排序后:");
38              foreach (var item in x)
39              {
40                  Console.Write(item+" ");
41              }
42              Console.ReadLine();
43          }
44     }
45 }

 

数组--插入排序法

原文:http://www.cnblogs.com/pengyouqiang88/p/5023663.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!