鎻掑叆鎺掑簭

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了鎻掑叆鎺掑簭相关的知识,希望对你有一定的参考价值。

鏍囩锛?a href='http://www.mamicode.com/so/1/%e7%ac%ac%e4%b8%80%e4%b8%aa' title='绗竴涓?>绗竴涓?/a>   number   getc   閫氳繃   code   鍘熺悊   etc   out   

瀹氫箟

瀹冪殑宸ヤ綔鍘熺悊鏄€氳繃鏋勫缓鏈夊簭搴忓垪锛屽浜庢湭鎺掑簭鏁版嵁锛屽湪宸叉帓搴忓簭鍒椾腑浠庡悗鍚戝墠鎵弿锛屾壘鍒扮浉搴斾綅缃苟鎻掑叆銆傛彃鍏ユ帓搴忓湪瀹炵幇涓婏紝閫氬父閲囩敤in-place鎺掑簭锛堝嵆鍙渶鐢ㄥ埌** O(1) **鐨勯澶栫┖闂寸殑鎺掑簭锛夛紝鍥犺€屽湪浠庡悗鍚戝墠鎵弿杩囩▼涓紝闇€瑕佸弽澶嶆妸宸叉帓搴忓厓绱犻€愭鍚戝悗鎸綅锛屼负鏈€鏂板厓绱犳彁渚涙彃鍏ョ┖闂淬€?/p>

涓€鑸潵璇达紝鎻掑叆鎺掑簭閮介噰鐢╥n-place鍦ㄦ暟缁勪笂瀹炵幇銆傚叿浣撶畻娉曟弿杩板涓嬶細

1銆佷粠绗竴涓厓绱犲紑濮嬶紝璇ュ厓绱犲彲浠ヨ涓哄凡缁忚鎺掑簭
2銆佸彇鍑轰笅涓€涓厓绱狅紝鍦ㄥ凡缁忔帓搴忕殑鍏冪礌搴忓垪涓粠鍚庡悜鍓嶆壂鎻?br> 3銆佸鏋滆鍏冪礌锛堝凡鎺掑簭锛夊ぇ浜庢柊鍏冪礌锛屽皢璇ュ厓绱犵Щ鍒颁笅涓€浣嶇疆
4銆侀噸澶嶆楠?锛岀洿鍒版壘鍒板凡鎺掑簭鐨勫厓绱犲皬浜庢垨鑰呯瓑浜庢柊鍏冪礌鐨勪綅缃?br> 5銆佸皢鏂板厓绱犳彃鍏ュ埌璇ヤ綅缃悗
6銆侀噸澶嶆楠?~5

鎬濊矾浠g爜

#include <iostream>
#include <cstring>
#include <cstdio>
#include <conio.h>

using namespace std;
const int SIZE = 10000;

void fInsertionSort(int *pData, int size);

int main()
{
    int number;
    int fDate[SIZE] = { 0 };
    cout << "璇疯緭鍏ラ渶瑕佽繘琛屾帓搴忕殑涓暟锛?;
    cin >> number;

    for (int i = 0; i < number; i++)
        cin >> fDate[i];

    cout << "鈥斺€斺€斺€斺€斺€斺€斺€斺€斺€斺€斺€斺€斺€斺€斺€? << endl;
    fInsertionSort(fDate, number);

    cout << "绛旀鏄細" << endl;
    for (int i = 0; i < number; i++)
        cout << fDate[i] << 鈥?鈥?

    _getch();
    return 0;
}

void fInsertionSort(int *pData, int size)
{
    int i, j, key;
    for (i = 1; i < size; i++) 
    {
        key = pData[i];
        j = i - 1;
        while ((j >= 0) && (pData[j] > key)) 
        {
            pData[j + 1] = pData[j];
            j--;
        }
        pData[j + 1] = key;

        for (int i = 0; i < size; i++)
            cout << pData[i] << 鈥?鈥?
        cout << endl;
    }
}



以上是关于鎻掑叆鎺掑簭的主要内容,如果未能解决你的问题,请参考以下文章

鎻掑叆鎺掑簭浠g爜鍒嗘瀽

寤烘ā鏁欎綘鐢ㄦ帓搴忕畻娉曟挬濡光€曗€昇O.1鎻掑叆鎺掑簭

銆愭暟鎹粨鏋勩€戝崄澶ф帓搴忕畻娉曗€斺€?C++瀹炵幇

鎼滅储鎻掑叆浣嶇疆

鎺掑簭涓撻锛堝洓锛夎鏁版帓搴忋€佹《鎺掑簭

缁忓吀鎺掑簭绠楁硶鈥斺€旈€夋嫨鎺掑簭