C語言經典程式設計282-19-直接插入排序
阿新 • • 發佈:2018-11-17
插入排序是直接把一個數據插入到已有的序列中
插入位置的確定:是將待插入的資料與已有序列進行比較。
#include <stdio.h> void insort(int s[],int n) { int i,j; for(i=2;i<=n;i++) //從下標2開始比較 { s[0]=s[i]; //設定監視崗 j=i-1; //確定比較的右邊元素 while(s[0]<s[j]) { s[j+1]=s[j]; //資料右移 j--; //向左移動比較 } s[j+1]=s[0]; //移向左邊一個未比較的數 } } main() { int a[11],i; printf("請輸入10個數:\n"); for(i=1;i<=10;i++) scanf("%d",&a[i]); printf("原始排序:"); for(i=1;i<=10;i++) printf("%d ",a[i]); printf("\n"); insort(a,10); printf("排序後:"); for(i=1;i<=10;i++) printf("%d ",a[i]); printf("\n"); }