close

#include <iostream>
using namespace std;

void displayarray(int[], int);
void insertionsort(int[], int);

int main()
{
    const int maxsize = 10;
    int array[maxsize] = { 21,15,12,24,9,30,45,66,31,20 };
    displayarray(array, maxsize);
    insertionsort(array,maxsize);
    displayarray(array, maxsize);

    system("pause");
    return 0;
}

void displayarray(int vec[], int size)
{
    for (int i = 0; i < size; i++)
    {
        cout << vec[i]<<"\t";
    }
    cout << endl;
}

void insertionsort(int vec[], int size)
{
    for (int j = 1; j < size; j++)
    {
        int key = vec[j];        //將vec[j]的值先用key保存下來
        int i = j - 1;

        while (i >= 0 && vec[i] > key)    /*把每個數值與最右邊的值做比較,然後將較大的數值往右邊排*/ 
        {                                  /*直到有數值比最右邊數值小時結束此迴圈*/
            vec[i + 1] = vec[i];
            --i;
        }
        vec[i + 1] = key;              //將重複的數值部分修改
    }
}
 

arrow
arrow
    全站熱搜
    創作者介紹
    創作者 異想人 的頭像
    異想人

    隨意茶部落

    異想人 發表在 痞客邦 留言(0) 人氣()