麻豆黑色丝袜jk制服福利网站-麻豆精品传媒视频观看-麻豆精品传媒一二三区在线视频-麻豆精选传媒4区2021-在线视频99-在线视频a

千鋒教育-做有情懷、有良心、有品質的職業教育機構

手機站
千鋒教育

千鋒學習站 | 隨時隨地免費學

千鋒教育

掃一掃進入千鋒手機站

領取全套視頻
千鋒教育

關注千鋒學習站小程序
隨時隨地免費學習課程

當前位置:首頁  >  技術干貨  > vectorappend用法介紹

vectorappend用法介紹

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

一、vector簡介

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

vector的定義:


    
        #include 
        using namespace std;
        vector vec;
    

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

二、vectorappend函數作用

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


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

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

vector的底層內存結構采用分段連續空間存儲,每當添加元素時,如果當前vector的內存空間不足,就會重新分配一段更大的連續空間,并將原來的元素復制到新的內存空間中。這也就是vector高效運行的原因之一。

三、使用vectorappend實現隊列的入隊操作

在隊列中,添加元素需要執行入隊操作,下面給出使用vectorappend函數實現入隊操作的完整代碼示例:


    
        #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函數將元素1、2、3、4依次入隊,并使用迭代器遍歷輸出隊列中的所有元素。

四、使用vectorappend實現動態增長的數組

在C/C++中,動態數組是一種便于管理和使用的數據結構。使用下標訪問數組元素時,需要保證訪問下標不越界。當數組元素個數超過數組容量時,需要將元素拷貝到更大的內存空間中。vector就是一種可以動態增長的數組。

下面給出使用vectorappend函數實現動態增長的數組的完整代碼示例:


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

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

五、使用vectorappend實現尾插法構建鏈表

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


    
        #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); //定義頭節點
            ListNode* tail = head; //定義尾指針
            for(auto n : nums)
            {
                tail->next = new ListNode(n); //尾插法插入新節點
                tail = tail->next;
            }
            ListNode* p = head->next; //指向第一個節點
            while(p != nullptr) //遍歷鏈表
            {
                cout << p->val << " ";
                p = p->next;
            }
            return 0;
        }
    

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

六、總結

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

tags: vectorappend
聲明:本站稿件版權均屬千鋒教育所有,未經許可不得擅自轉載。
10年以上業內強師集結,手把手帶你蛻變精英
請您保持通訊暢通,專屬學習老師24小時內將與您1V1溝通
免費領取
今日已有369人領取成功
劉同學 138****2860 剛剛成功領取
王同學 131****2015 剛剛成功領取
張同學 133****4652 剛剛成功領取
李同學 135****8607 剛剛成功領取
楊同學 132****5667 剛剛成功領取
岳同學 134****6652 剛剛成功領取
梁同學 157****2950 剛剛成功領取
劉同學 189****1015 剛剛成功領取
張同學 155****4678 剛剛成功領取
鄒同學 139****2907 剛剛成功領取
董同學 138****2867 剛剛成功領取
周同學 136****3602 剛剛成功領取
相關推薦HOT
主站蜘蛛池模板: 87福利电影| 孕交动漫h无遮挡肉| 哈昂~哈昂够了太多太深小说| 黄色不卡视频| 四虎成人精品在永久免费| 国产一区二区在线视频| 日本免费网站在线观看| 国产精品素人福利| 蜜桃成熟时3之蜜桃仙子电影| 久久96精品国产| 美国一级片免费| 国产大片免费天天看| 久久精品视频亚洲| 好大好硬好爽免费视频| 色片免费观看| 再去温泉吧| 躁天天躁中文字幕在线| 新人本田岬847正在播放| 精品一区二区三区在线观看| 樱桃直播免费看| 猫扑两性色午夜视频免费| 久久综合久久综合九色| 夫妇交换性2国语在线观看| 免费污视频在线| 精品久久久久久国产| 狠狠色噜噜狠狠狠合久| 182tv免费视视频线路一二三| 欧美激情一级二级三级在线视频| 波多野结衣bt| 亚洲欧美色鬼久久综合| 中文乱码精品一区二区三区| 国产黄大片在线观看| 一级日本片| 福利视频亚洲| 免费a级毛片| 日韩三级在线免费观看| 午夜性影院爽爽爽爽爽爽| 国产精品久久久精品三级| 国产日韩一区二区三区在线观看| 扒开老师的蕾丝内裤漫画| 又湿又紧又大又爽a视频|