1. 程式人生 > >資料結構之排序篇——插入排序 //無序查詢有序位置,邊比較邊移動,有哨兵

資料結構之排序篇——插入排序 //無序查詢有序位置,邊比較邊移動,有哨兵

 

 

 

typedef int DataType;
void insert(DataType *a, int n) {
    for (int i = 1; i < n; i++) {
        //把選擇的元素放在臨時變數中
        DataType t = a[i];
        int j = 0;
        for (j = i; j > 0 && a[j - 1] > t; j--) {
            a[j] = a[j - 1];
        }
        a[j] = t;
    }
}
void print(DataType* a, int n) {
    for (int i = 0; i < n; i++)
        printf("%d ", a[i]);
    printf("\n");
}
int main() {
    int a[10] = {3, 2, 4, 5, 7, 8, 9, 1, 6, 0};
    insert(a, 10);
    print(a, 10);
    
    return 0;
}