久久精品国产亚洲高清|精品日韩中文乱码在线|亚洲va中文字幕无码久|伊人久久综合狼伊人久久|亚洲不卡av不卡一区二区|精品久久久久久久蜜臀AV|国产精品19久久久久久不卡|国产男女猛烈视频在线观看麻豆

    1. <style id="76ofp"></style>

      <style id="76ofp"></style>
      <rt id="76ofp"></rt>
      <form id="76ofp"><optgroup id="76ofp"></optgroup></form>
      1. 千鋒教育-做有情懷、有良心、有品質(zhì)的職業(yè)教育機構(gòu)

        手機站
        千鋒教育

        千鋒學(xué)習(xí)站 | 隨時隨地免費學(xué)

        千鋒教育

        掃一掃進入千鋒手機站

        領(lǐng)取全套視頻
        千鋒教育

        關(guān)注千鋒學(xué)習(xí)站小程序
        隨時隨地免費學(xué)習(xí)課程

        當(dāng)前位置:首頁  >  技術(shù)干貨  > vectorappend用法介紹

        vectorappend用法介紹

        來源:千鋒教育
        發(fā)布人:xqq
        時間: 2023-11-24 19:11:45 1700824305

        一、vector簡介

        vector是C++ STL中的一個非常重要的容器,它能夠動態(tài)的管理內(nèi)存,同時提供了方便的元素存取、插入、刪除等操作。vector是一個動態(tài)數(shù)組,其大小可以根據(jù)實際情況自動調(diào)整,可以在執(zhí)行時動態(tài)添加或刪除元素。

        vector的定義:

        
            
                #include 
                using namespace std;
                vector vec;
            
        

        這段代碼定義了一個名為vec的int型vector,使用using namespace std;可省略引用vector中的std命名空間。創(chuàng)建vector后,可以使用push_back()函數(shù)添加元素,使用size()函數(shù)獲取元素個數(shù),使用[]運算符或者at()函數(shù)獲取元素。

        二、vectorappend函數(shù)作用

        vectorappend函數(shù)用于向vector中添加元素,其定義如下:

        
            
                void vector::push_back(const value_type& val);
            
        

        其中value_type是vector模板參數(shù)中的類型,而val則是要添加的元素,該元素的類型與value_type相同。

        vector的底層內(nèi)存結(jié)構(gòu)采用分段連續(xù)空間存儲,每當(dāng)添加元素時,如果當(dāng)前vector的內(nèi)存空間不足,就會重新分配一段更大的連續(xù)空間,并將原來的元素復(fù)制到新的內(nèi)存空間中。這也就是vector高效運行的原因之一。

        三、使用vectorappend實現(xiàn)隊列的入隊操作

        在隊列中,添加元素需要執(zhí)行入隊操作,下面給出使用vectorappend函數(shù)實現(xiàn)入隊操作的完整代碼示例:

        
            
                #include 
                #include 
                using namespace std;
                int main()
                {
                    vector que; //定義隊列
                    que.push_back(1);  //元素1入隊
                    que.push_back(2);  //元素2入隊
                    que.push_back(3);  //元素3入隊
                    que.push_back(4);  //元素4入隊
                    for(auto i = que.begin(); i != que.end(); ++i) //輸出隊列
                        cout << *i << " ";
                    return 0;
                }
            
        

        在上述代碼中,通過vectorappend函數(shù)將元素1、2、3、4依次入隊,并使用迭代器遍歷輸出隊列中的所有元素。

        四、使用vectorappend實現(xiàn)動態(tài)增長的數(shù)組

        在C/C++中,動態(tài)數(shù)組是一種便于管理和使用的數(shù)據(jù)結(jié)構(gòu)。使用下標(biāo)訪問數(shù)組元素時,需要保證訪問下標(biāo)不越界。當(dāng)數(shù)組元素個數(shù)超過數(shù)組容量時,需要將元素拷貝到更大的內(nèi)存空間中。vector就是一種可以動態(tài)增長的數(shù)組。

        下面給出使用vectorappend函數(shù)實現(xiàn)動態(tài)增長的數(shù)組的完整代碼示例:

        
            
                #include 
                #include 
                using namespace std;
                int main()
                {
                    vector arr; //定義動態(tài)數(shù)組
                    for(int i = 0; i < 10; i++) //添加10個元素
                        arr.push_back(i);
                    for(auto i = arr.begin(); i != arr.end(); ++i) //輸出動態(tài)數(shù)組
                        cout << *i << " ";
                    return 0;
                }
            
        

        上述代碼使用vectorappend函數(shù)向動態(tài)數(shù)組中添加了10個元素,并使用迭代器遍歷輸出所有元素。

        五、使用vectorappend實現(xiàn)尾插法構(gòu)建鏈表

        鏈表是一種常見的數(shù)據(jù)結(jié)構(gòu),通過指針連接多個節(jié)點,具有高效的插入、刪除操作。使用vectorappend函數(shù)可以實現(xiàn)尾插法構(gòu)建單鏈表,下面給出實現(xiàn)代碼:

        
            
                #include 
                #include 
                using namespace std;
                struct ListNode{
                    int val;
                    ListNode* next;
                    ListNode(int x): val(x), next(nullptr){};
                };
                int main()
                {
                    vector nums = {1, 2, 3, 4, 5}; //定義元素序列
                    ListNode* head = new ListNode(-1); //定義頭節(jié)點
                    ListNode* tail = head; //定義尾指針
                    for(auto n : nums)
                    {
                        tail->next = new ListNode(n); //尾插法插入新節(jié)點
                        tail = tail->next;
                    }
                    ListNode* p = head->next; //指向第一個節(jié)點
                    while(p != nullptr) //遍歷鏈表
                    {
                        cout << p->val << " ";
                        p = p->next;
                    }
                    return 0;
                }
            
        

        上述代碼首先定義了一個元素序列,再定義了頭節(jié)點和尾指針。使用尾插法向鏈表中添加所有元素,最后使用指針遍歷輸出鏈表中所有元素。

        六、總結(jié)

        vectorappend函數(shù)是vector容器的重要成員之一,它可以將元素動態(tài)的添加到vector中,從而實現(xiàn)數(shù)組、隊列、鏈表的各種操作。vector的動態(tài)增長內(nèi)存結(jié)構(gòu)保證了其高效的運行。掌握vectorappend函數(shù)的使用可以對C++ STL的深入理解提供幫助。

        tags: vectorappend
        聲明:本站稿件版權(quán)均屬千鋒教育所有,未經(jīng)許可不得擅自轉(zhuǎn)載。
        10年以上業(yè)內(nèi)強師集結(jié),手把手帶你蛻變精英
        請您保持通訊暢通,專屬學(xué)習(xí)老師24小時內(nèi)將與您1V1溝通
        免費領(lǐng)取
        今日已有369人領(lǐng)取成功
        劉同學(xué) 138****2860 剛剛成功領(lǐng)取
        王同學(xué) 131****2015 剛剛成功領(lǐng)取
        張同學(xué) 133****4652 剛剛成功領(lǐng)取
        李同學(xué) 135****8607 剛剛成功領(lǐng)取
        楊同學(xué) 132****5667 剛剛成功領(lǐng)取
        岳同學(xué) 134****6652 剛剛成功領(lǐng)取
        梁同學(xué) 157****2950 剛剛成功領(lǐng)取
        劉同學(xué) 189****1015 剛剛成功領(lǐng)取
        張同學(xué) 155****4678 剛剛成功領(lǐng)取
        鄒同學(xué) 139****2907 剛剛成功領(lǐng)取
        董同學(xué) 138****2867 剛剛成功領(lǐng)取
        周同學(xué) 136****3602 剛剛成功領(lǐng)取
        相關(guān)推薦HOT
        资兴市| 曲周县| 屯昌县| 彭山县| 柘荣县| 澳门| 农安县| 旬邑县| 东乌珠穆沁旗| 通州市| 江山市| 沈阳市| 思茅市| 隆子县| 独山县| 星子县| 桑日县| 柏乡县| 潍坊市| 西宁市| 菏泽市| 彭阳县| 汤原县| 乌兰浩特市| 旺苍县| 泰和县| 利川市| 出国| 库车县| 称多县| 筠连县| 沙田区| 湖北省| 大城县| 河南省| 昆明市| 墨脱县| 泉州市| 育儿| 云阳县| 连州市|