1、插入法排序算法介紹
插入法是一個比較常用的排序方法。插入法排序的思路就是將要排序的數組分兩個區間,一個是已排序區間,一個是未排序區間。初始時,默認第一個元素是已排序區間的,後面的所有元素爲未排序區間。然後依次取未排序區間的元素,在已排序區間找到合適的位置插入,直到排完所有數據。
比如對一個包含5個元素的數組5、2、4、3、1進行排序,採用插入法時,排序的步驟如下所示。
2、插入法代碼示例
下面我們採用c語言編寫一段代碼來實現上面的5個數的排序,代碼如下所示。
#include <stdio.h>
void main()
{
int i,j;
int data[5]={5,2,4,3,1};
int temp;
printf("Data: ");
for(i=0;i<5;i++)
printf("%d ",data[i]);
printf("\n");
for(i=1;i<5;i++)
{
temp = data[i];
for(j=i-1;j>=0;j--)
{
if(temp < data[j])
data[j+1]=data[j];
else
break;
}
data[j+1] = temp;
}
printf("Final data: ");
for(i=0;i<5;i++)
printf("%d ",data[i]);
printf("\n");
}
編譯代碼並運行,執行結果如下所示
Data: 5 2 4 3 1
Final data: 1 2 3 4 5