数组--插入排序法

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("
排序后:");
38              foreach (var item in x)
39              {
40                  Console.Write(item+" ");
41              }
42              Console.ReadLine();
43          }
44     }
45 }
原文地址:https://www.cnblogs.com/pengyouqiang88/p/5023663.html