国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

第一百二十四天學(xué)習(xí)記錄:C++提高:STL-deque容器(上)(黑馬教學(xué)視頻)

這篇具有很好參考價值的文章主要介紹了第一百二十四天學(xué)習(xí)記錄:C++提高:STL-deque容器(上)(黑馬教學(xué)視頻)。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

deque容器

deque容器基本概念

功能:
雙端數(shù)組,可以對頭端進行插入刪除操作
deque與vector區(qū)別
vector對于頭部的插入刪除效率低,數(shù)據(jù)量越大,效率越低
deque相對而言,對頭部的插入刪除速度比vector快
vector訪問元素的速度會比deque快,這和兩者內(nèi)部實現(xiàn)有關(guān)
第一百二十四天學(xué)習(xí)記錄:C++提高:STL-deque容器(上)(黑馬教學(xué)視頻),編程語言學(xué)習(xí),學(xué)習(xí),c++,開發(fā)語言
deque內(nèi)部工作原理:
deque內(nèi)部有個中控器,維護每段緩沖區(qū)中的內(nèi)容,緩沖區(qū)中存放真實數(shù)據(jù)
中控器維護的是每個緩沖區(qū)的地址,使得使用deque時像一片連續(xù)的內(nèi)存空間
第一百二十四天學(xué)習(xí)記錄:C++提高:STL-deque容器(上)(黑馬教學(xué)視頻),編程語言學(xué)習(xí),學(xué)習(xí),c++,開發(fā)語言
deque容器的迭代器也是支持隨機訪問的

筆記:學(xué)到這里因為數(shù)據(jù)結(jié)構(gòu)才把鏈表學(xué)習(xí)完所以看到這里有一點懵。不過彈幕中的一句話讓我有了點啟發(fā),說是deque就是鏈表+數(shù)組

deque構(gòu)造函數(shù)

功能描述:
deque容器構(gòu)造
函數(shù)原型:

deque<T> deqT; //默認構(gòu)造形式
deque(beg,end); //構(gòu)造函數(shù)將[beg,end)區(qū)間中的元素拷貝給本身
deque(n,elem); //構(gòu)造函數(shù)將n個elem拷貝給本身
deque(const deque &deq); //拷貝構(gòu)造函數(shù)
#include<iostream>
using namespace std;
#include<deque>

//deque構(gòu)造函數(shù)

void printDeque(const deque<int>&d)
{
	for (deque<int>::const_iterator it = d.begin(); it != d.end(); it++)
	{
		cout << *it << " ";
	}
	cout << endl;
}

void test01()
{
	deque<int>d1;
	for (int i = 0; i < 10; i++)
	{
		d1.push_back(i);
	}
	printDeque(d1);

	deque<int>d2(d1.begin(), d1.end());
	printDeque(d2);

	deque<int>d3(10, 33);
	printDeque(d3);

	deque<int>d4(d3);
	printDeque(d4);
}

int main()
{
	test01();
	return 0;
}

第一百二十四天學(xué)習(xí)記錄:C++提高:STL-deque容器(上)(黑馬教學(xué)視頻),編程語言學(xué)習(xí),學(xué)習(xí),c++,開發(fā)語言
總結(jié):deque容器和vector容器的構(gòu)造方式幾乎一致,靈活使用即可

deque賦值操作

功能描述:
給deque容器進行賦值

函數(shù)原型:

deque& operator=(const deque &deq); //重載等號操作符
assign(beg,end); //將[beg,end)區(qū)間中的數(shù)據(jù)拷貝賦值給本身
assign(n,elem); //將n個elem拷貝賦值給本身
#include<iostream>
using namespace std;
#include<deque>

//deque容器賦值操作

void printDeque(const deque<int>&d)
{
	for (deque<int>::const_iterator it = d.begin(); it != d.end(); it++)
	{
		cout << *it << " ";
	}
	cout << endl;
}

void test01()
{
	deque<int>d1;
	for (int i = 0; i < 10; i++)
	{
		d1.push_back(i);
	}
	printDeque(d1);

	//operator=賦值
	deque<int>d2;
	d2 = d1;
	printDeque(d2);

	//assign賦值
	deque<int>d3;
	d3.assign(d1.begin(), d1.end());
	printDeque(d3);

	deque<int>d4;
	d4.assign(10, 88);
	printDeque(d4);
}

int main()
{
	test01();
	return 0;
}

第一百二十四天學(xué)習(xí)記錄:C++提高:STL-deque容器(上)(黑馬教學(xué)視頻),編程語言學(xué)習(xí),學(xué)習(xí),c++,開發(fā)語言
總結(jié):deque賦值操作也與vector相同,需熟練掌握

deque大小操作

功能描述:
對deque容器的大小進行操作

函數(shù)原型:

deque.empty(); //判斷容器是否為空
deque.size(); //返回容器中元素的個數(shù)
deque.resize(); //重新指定容器的長度為num,若容器變長,則以默認值填充新位置。
//如果容器變短,則末尾超出容器長度的元素被刪除
deque.resize(num,elem); //重新指定容器的長度為num,若容器變長,則以elem值填充新位置。
//如果容器變短,則末尾超出容器長度的元素被刪除
#include<iostream>
using namespace std;
#include<deque>

//deque容器大小操作

void printDeque(const deque<int>&d)
{
	for (deque<int>::const_iterator it = d.begin(); it != d.end(); it++)
	{
		cout << *it << " ";
	}
	cout << endl;
}

void test01()
{
	deque<int>d1;
	for (int i = 0; i < 10; i++)
	{
		d1.push_back(i);
	}
	printDeque(d1);

	if (d1.empty())
	{
		cout << "d1為空" << endl;
	}
	else
	{
		cout << "d1不為空" << endl;
		cout << "d1的大小為:" << d1.size() << endl;
		//deque容器沒有容量概念,這和它內(nèi)部結(jié)構(gòu)有關(guān)
	}

	//重新指定大小
	d1.resize(15);
	printDeque(d1);
	d1.resize(18,1);
	printDeque(d1);
	d1.resize(5);
	printDeque(d1);

}

int main()
{
	test01();
	return 0;
}

第一百二十四天學(xué)習(xí)記錄:C++提高:STL-deque容器(上)(黑馬教學(xué)視頻),編程語言學(xué)習(xí),學(xué)習(xí),c++,開發(fā)語言
總結(jié):
deque沒有容量的概念
判斷是否為空 —empty
返回元素個數(shù) —size
重新指定個數(shù) —resize文章來源地址http://www.zghlxwxcb.cn/news/detail-643448.html

到了這里,關(guān)于第一百二十四天學(xué)習(xí)記錄:C++提高:STL-deque容器(上)(黑馬教學(xué)視頻)的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務(wù),不擁有所有權(quán),不承擔相關(guān)法律責任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實不符,請點擊違法舉報進行投訴反饋,一經(jīng)查實,立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費用

相關(guān)文章

  • 第一百二十一天學(xué)習(xí)記錄:線性代數(shù):矩陣乘法運算(宋浩板書)

    第一百二十一天學(xué)習(xí)記錄:線性代數(shù):矩陣乘法運算(宋浩板書)

    在編程和學(xué)習(xí)數(shù)據(jù)結(jié)構(gòu)的過程中,發(fā)現(xiàn)有些算法會用到矩陣和矩陣的乘法運算,因此先將這一個知識點學(xué)習(xí)一下。 乘法☆ 總結(jié)三條不滿足

    2024年02月13日
    瀏覽(28)
  • 第一百二十八天學(xué)習(xí)記錄:數(shù)據(jù)結(jié)構(gòu)與算法基礎(chǔ):棧和隊列(上)(王卓教學(xué)視頻)

    第一百二十八天學(xué)習(xí)記錄:數(shù)據(jù)結(jié)構(gòu)與算法基礎(chǔ):棧和隊列(上)(王卓教學(xué)視頻)

    1、棧和隊列是兩種常用的、重要的數(shù)據(jù)結(jié)構(gòu) 2、棧和隊列是限定插入和刪除只能在表的“端點”進行的線性表 線性表可以在任意一個位置插入和刪除,棧只能在最后位置插入和刪除 只能刪除第一個元素 棧和隊列是線性表的子集(是插入和刪除位置受限的線性表)

    2024年02月13日
    瀏覽(25)
  • 第一百二十七回 空安全

    我們在上一章回中介紹了級聯(lián)操作符相關(guān)的內(nèi)容,本章回中將介紹 空安全 .閑話休提,讓我們一起Talk Flutter吧。 在編譯語言中都有空指針或者空對象(null),它們會引起程序的異常。在移動開發(fā)中如果使用Java和OC開發(fā)程序,發(fā)生這類異常后會使應(yīng)用程序被系統(tǒng)強制關(guān)閉,業(yè)內(nèi)通

    2024年02月11日
    瀏覽(28)
  • 一百二十五、Hive——hive性能優(yōu)化

    在Hive中運行SQL,性能優(yōu)化是個大坑! 總結(jié)一些 hive性能優(yōu)化的參數(shù)設(shè)置 一、hive性能優(yōu)化 set hive.vectorized.execution.enabled=false; set hive.auto.convert.join=false; --map階段內(nèi)存不足 set mapreduce.map.memory.mb=10150; set mapreduce.map.java.opts=-Xmx6144m; -- reduce階段內(nèi)存不足 set mapreduce.reduce.memory.mb=10150;

    2024年02月09日
    瀏覽(23)
  • Emacs之實現(xiàn)鼠標/鍵盤選中即拷貝外界內(nèi)容(一百二十)

    Emacs之實現(xiàn)鼠標/鍵盤選中即拷貝外界內(nèi)容(一百二十)

    簡介: CSDN博客專家,專注Android/Linux系統(tǒng),分享多mic語音方案、音視頻、編解碼等技術(shù),與大家一起成長! 優(yōu)質(zhì)專欄: Audio工程師進階系列 【 原創(chuàng)干貨持續(xù)更新中…… 】?? 人生格言: 人生從來沒有捷徑,只有行動才是治療恐懼和懶惰的唯一良藥. 更多原創(chuàng),歡迎關(guān)注:An

    2024年02月15日
    瀏覽(30)
  • ThinkpadP15V局域網(wǎng)喚醒電腦開關(guān)機(一百二十八)

    一、喚醒端各平臺工具:Android/Windows/IOS? ?二、被喚醒端配置:ThinkpadP15V(Linux OS)

    2024年02月17日
    瀏覽(37)
  • 第一百二十五回 dart中List和Map的常見用法

    我們在上一章回中介紹了Flexible組件相關(guān)的內(nèi)容,本章回中將介紹 dart中的List和Map .閑話休提,讓我們一起Talk Flutter吧。 我們在這里介紹的List也叫列表,它表示一組相同類型變量的集合。map也叫映射或者字典,它表示鍵值對的組合。在高級語言中都有l(wèi)ist和map,比如Java,Swift以及

    2024年02月10日
    瀏覽(20)
  • Emacs之改造最快的文件搜索工具fd-dired(基于fd命令)(一百二十一)

    Emacs之改造最快的文件搜索工具fd-dired(基于fd命令)(一百二十一)

    簡介: CSDN博客專家,專注Android/Linux系統(tǒng),分享多mic語音方案、音視頻、編解碼等技術(shù),與大家一起成長! 優(yōu)質(zhì)專欄: Audio工程師進階系列 【 原創(chuàng)干貨持續(xù)更新中…… 】?? 人生格言: 人生從來沒有捷徑,只有行動才是治療恐懼和懶惰的唯一良藥. 更多原創(chuàng),歡迎關(guān)注:An

    2024年02月15日
    瀏覽(23)
  • 第一百一十四天學(xué)習(xí)記錄:C++提高:類模板案例(黑馬教學(xué)視頻)

    第一百一十四天學(xué)習(xí)記錄:C++提高:類模板案例(黑馬教學(xué)視頻)

    main.cpp代碼: myarray.hpp代碼: 輸出: 總結(jié):能夠利用所學(xué)知識點實現(xiàn)通用的數(shù)組。 個人感悟:學(xué)習(xí)了這個案例之后接下來的課程就是STL了,STL其實在我工作中寫代碼時經(jīng)常碰到,尤其是在讀同事代碼的時候,因為沒有學(xué)過,通過自行百度獲得碎片的知識導(dǎo)致讀起來很很吃力

    2024年02月16日
    瀏覽(23)
  • 第一百一十五天學(xué)習(xí)記錄:C++提高:STL初識(黑馬教學(xué)視頻)

    第一百一十五天學(xué)習(xí)記錄:C++提高:STL初識(黑馬教學(xué)視頻)

    1、長久以來,軟件界一直希望建立一種可重復(fù)利用的東西 2、C++的面向?qū)ο蠛头盒途幊趟枷耄康木褪侵貜?fù)性的提升 3、大多數(shù)情況下,數(shù)據(jù)結(jié)構(gòu)和算法都未能有一套標準,導(dǎo)致被迫從事大量重復(fù)工作 4、為了建立數(shù)據(jù)結(jié)構(gòu)和算法的一套標準,誕生了STL 1、STL,標準模板庫 2、

    2024年02月16日
    瀏覽(21)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包