1. 程式人生 > >C語言:插入排序

C語言:插入排序

#include <stdio.h>


int main()
{
int a[10] = {0};//定義一個數組並初始化
int i;//定義一個迴圈變數
int j;//定義一個迴圈變數
int temp;//定義一個人臨時變數


printf("Please input 10 numbers:\n");//迴圈輸入十個數
for (i = 0; i < 10; i++)
{
        scanf("%d",&a[i]);
}

for(i = 1; i < 10; i++)//從陣列第二個開始迴圈
{
temp = a[i];//把a[i]的值給temp
for(j = i - 1; j >= 0; j--)
{
if(temp > a[j])//temp向前一個一個比較,如果大於前面元素的值
{
a[j + 1] = a[j];                    //就把小的值給後面
}
else //如果小於前面的值,就終止比較
{
break;
}
}
a[j + 1] = temp;//再把temp值放到(此處j的值與for迴圈中的i--相等)
}

for(i = 0; i < 10; i++)//迴圈輸出排序後的結果
{
printf("%5d",a[i]);
}

return 0;