插入排序演算法實現
阿新 • • 發佈:2018-11-21
輸入:n個數(a1,a2........)
輸出:升序排列好的陣列
#include <stdio.h> #include <stdlib.h> int main() { int i,j,n,a[100]; printf("請輸入要排序的陣列個數:"); scanf("%d",&n); printf("請輸入要排序的陣列:"); for(i=0;i<n;i++) { scanf("%d",&a[i]); } // printf("%d",sizeof(a)); insertion_sort(a,n); for(j=0;j<n;j++) { printf("%d",a[j]); printf(" "); } } int insertion_sort(int a[],int n){ int i,j,key; for(j=1;j<n;j++) { key=a[j]; //insert a[j] into the sorted sequence a[1....j-1] i=j-1; while(i>=0&&a[i]>key){ a[i+1]=a[i]; i=i-1; } a[i+1]=key; } return a; }