天天看點

資料結構 插入排序

#include "sort_.h"

void print_array(int *arr, int n)

// 列印數組

{

    if(n==0){

        printf("ERROR: Array length is ZERO\n");

        return;

    }

    printf("%d", arr[0]);

    for (int i=1; i<n; i++) {

        printf(" %d", arr[i]);

    }

    printf("\n");

}

void sort_array(int *arr, int n)

//  程式設計實作《插入排序算法》:将亂序序列arr轉化為升序序列

//  函數參數:亂序整數數組(無重複元素) 數組長度

//  要求輸出:調用print_array(int *arr, int n)輸出前三次插入操作後的序列,以及最終的升序序列

{

    // 請在這裡補充代碼,完成本關任務

    int j,i,x;

    for(i=0;i<n-1;i++){

        x=arr[i+1];

        j=i;

        while(x<arr[j]&&j>-1){

         arr[j+1]=arr[j];

        j--;

        }

        arr[j+1]=x;

        if(i<3) print_array(arr,n);

    }

     print_array(arr,n);

}

繼續閱讀