• <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>

            Tauruser

            Enjoy Every Day
            posts - 34, comments - 95, trackbacks - 0, articles - 5
              C++博客 :: 首頁(yè) :: 新隨筆 :: 聯(lián)系 :: 聚合  :: 管理
            題目:
                   1、試編寫在數(shù)組中插入一個(gè)元素和刪除一個(gè)元素的函數(shù),并調(diào)用此函數(shù)作一個(gè)整型數(shù)組的插入和刪除,要求整形數(shù)組開(kāi)始含有10個(gè)元素,插入的位置可在任意兩個(gè)數(shù)組元素之間、第一個(gè)元素前和最后一個(gè)元素后,刪除任意指定位置的元素,并將各元素的位置及相應(yīng)的元素值打印出來(lái)。

                  正如《我的算法與數(shù)據(jù)結(jié)構(gòu)學(xué)習(xí)(二) 》中談到,在順序存儲(chǔ)中,插入與刪除操作的實(shí)現(xiàn)其關(guān)鍵在于對(duì)順序存儲(chǔ)空間的管理。作為順序存儲(chǔ),較為典型的是在數(shù)組中進(jìn)行。當(dāng)進(jìn)行插入和刪除操作時(shí),都要涉及到各個(gè)數(shù)組元素的移位,移位的順序是關(guān)鍵的,一不小心搞錯(cuò)了移位的順序就可能導(dǎo)致數(shù)組元素內(nèi)容的丟失。
             1#include <iostream>
             2using namespace std;
             3int a[20];
             4int count;
             5int choice;
             6bool Exit(0);
             7void insert(int *line);
             8void del(int *line);
             9void display(int *line);
            10
            11
            12int _tmain(int argc, _TCHAR* argv[])
            13{
            14    for(int i(0);i<10;i++)
            15        a[i]=i;
            16    count=10;
            17    while(!Exit)
            18    {
            19        cout<<"1.insert a num"<<endl;
            20        cout<<"2.delete a num"<<endl;
            21        cout<<"3.dispaly the list"<<endl;
            22        cout<<"0.exit"<<endl;
            23        cout<<"please input your choice:";
            24        cin>>choice;
            25        if(choice==1)
            26        {
            27            insert(a);
            28        }

            29        else if(choice ==2)
            30        {
            31            del(a);
            32        }

            33        else if(choice==3)
            34        {
            35            display(a);
            36        }

            37        else if(choice==0)
            38        {
            39            Exit=true;
            40        }

            41    }

            42    cout<<"Power by Tauruser";
            43    return 0;
            44
            45}

            46
            47void insert(int *line)
            48{
            49    int loc,num;
            50    cout<<"where you would like to insert:";
            51    cin>>loc;
            52    if(loc<1 || loc>count+1)
            53    {
            54        cout<<"data overflow";
            55        return;
            56    }

            57    cout<<"what num you would like to insert:";
            58    cin>>num;
            59    for(int i=count;i>loc-1;i--)
            60    {
            61        line[i]=line[i-1];
            62    }

            63    count++;
            64    line[loc-1]=num;
            65}

            66
            67void del(int *line)
            68{
            69    int loc;
            70    cout<<"which num you would like to delete:";
            71    cin>>loc;
            72    if(loc<1 || loc>count)
            73    {
            74        cout<<"data overflow";
            75        return;
            76    }

            77    for(int i=loc-1;i<count-1;i++)
            78    {
            79        line[i]=line[i+1];
            80    }

            81    count--;
            82}

            83
            84void display(int *line)
            85{
            86    for(int i(0);i<count;i++)
            87    {
            88        cout<<"No."<<i+1<<" num is "<<line[i]<<endl;
            89    }

            90}

            91
                  從insert()與del()兩個(gè)函數(shù)來(lái)看,在數(shù)組里進(jìn)行移位的順序剛才相反。插入從后到前,刪除從前到后。這樣的順序確保了,元素值不會(huì)給覆蓋丟失。其實(shí)如果再提供一個(gè)temp的變量,也可以實(shí)現(xiàn)移動(dòng)順序的改變。但就要再引入一個(gè)變量了。

            PS:另外說(shuō)一點(diǎn),有同學(xué)問(wèn)我為什么在VS.net平臺(tái)里老是沒(méi)有辦法#include <iostream.h>。我想可能VS.net已經(jīng)在C++中放棄支持這個(gè)了。可以換成
            #include <iostream>
            using namespace std;
            使用ISO C++的庫(kù)就行了。不知道我的見(jiàn)解是否正確。
            欧美久久亚洲精品| 亚洲级αV无码毛片久久精品| yy6080久久| 久久精品国产亚洲精品| 国产成人综合久久综合| 99精品久久久久久久婷婷| 老司机午夜网站国内精品久久久久久久久| 国产成人精品久久二区二区| 精品久久人人爽天天玩人人妻| 久久久久婷婷| 久久久精品波多野结衣| 精品久久久无码中文字幕天天| 久久精品国产69国产精品亚洲| 国产99精品久久| 久久久国产精品福利免费 | 久久久久综合网久久| 久久久精品人妻一区二区三区四| 久久婷婷五月综合色奶水99啪| 人妻无码久久一区二区三区免费| 色天使久久综合网天天| 久久亚洲sm情趣捆绑调教| 久久99久国产麻精品66| 中文字幕久久久久人妻| 久久亚洲春色中文字幕久久久| 久久青青草原精品国产| 国产V综合V亚洲欧美久久| 久久99精品国产麻豆宅宅| 国产精久久一区二区三区| 久久久久久久免费视频| 久久精品草草草| 久久久久国产一区二区| 无码任你躁久久久久久老妇| 久久SE精品一区二区| 国内精品久久久久影院免费| 99热热久久这里只有精品68| 久久一本综合| 精品久久久久久国产| 97久久精品人人澡人人爽| 色悠久久久久久久综合网| 久久久一本精品99久久精品88 | 国产69精品久久久久9999APGF|