如何在CSTL的queue當中查詢元素

時間 2021-09-04 02:33:22

1樓:匿名使用者

int i;queue裡面沒有find,所以自己寫一個吧,比如可以用下面這種,一個一個查,把查到的值記錄下來。 for(i =0; i < q.size(); i ++)if(i == q.

size())else

2樓:匿名使用者

如果num的範圍已知,且空間足夠,那麼:

bool***[size] = ;

每次元素進隊時多一步操作:(i為即將入隊的值)

q.push(i);

***[i] =true;

查詢的時候只需要參考***[num]就好。

這樣查詢比較快,時間複雜度為o(1)。

如果空間不夠,或者想知道num在隊中的位置,那麼把整個佇列遍歷一遍。

queue<int>tmp;inti=1;

while(!q.empty()){

tmp.push(q.front());

q.pop();

if(tmp.rear==num) cout

while(!tmp.empty()){

q.push(tmp.front());

tmp.pop();

這樣,所有值為num的元素所在的位置都可以知道了。

由於佇列是動態的,所佔用的空間只會多一點點。但時間複雜度為o(n)。

3樓:匿名使用者

#include

#include

#include

#include

#include

#include

#include

using namespace std;

void searchqueue(queueq, int searchvalue)

4樓:程式設計大王

queue是佇列的意思,好像有一個front方法,可以看看

5樓:匿名使用者

//使用algorithm的find函式

#include

#include

using namespace std;

int main()

; //初始化

int num=2; //賦值

auto pos=find(q.cbegin(),q,cend(),num);

if(pos!=q.cend())

{cout<<"找到該元素"<

c++(陣列中查詢指定的一個數)

6樓:

#include

using namespace std;

int search(int list,int x)//n是幹嗎的?

int main()

怎樣用c++找出一個陣列中的相同的數的個數??

7樓:匿名使用者

迴圈就好了,這是最簡單

的演算法。例如陣列a為待處理陣列。

int* b = (int*)malloc(n*sizeof(int));

for(int i = 0;i < n;i++)if(j==m)

b[m] = 1;

m++;

}如果需要知道重複的數字是什麼,則b定義為結構體陣列struct record;

8樓:匿名使用者

一個陣列中可能有多對相同的數,是否應傳入一個數作為要查詢的數

int find(int a ,int num ,int n) //num為陣列元素個數,n為要查詢的數

return count ;}}

c或c++中如何在同一個陣列裡查詢出不同於其他元素的元素?

9樓:匿名使用者

這裡說的是不是元素的值不同於其他的元素值啊?可以選出那個值,然後遍歷整個陣列即可得到答案。

10樓:

問題沒有描述清楚,c&c++同一個陣列只能儲存哪一種資料。。不如整型陣列只能儲存整型的資料。。都是整型的資料,有什麼不同?

如何在睡眠當中修行,佛教網,佛教中睡眠修行的問題

淨空法師 晚上睡覺躺在床上唸佛,睡眠前,就是躺在床上就想到,這就跟死沒有兩樣!所以人這一生死一次,每天晚上睡覺,每天死一次。常常作如是觀,到臨命終時候不害怕,養成這個習慣了,到臨命終時候生死自在,沒有恐懼,自己真做得了主。這經上講得很清楚,能不能往生最關鍵的就是你臨命終的那個時候,你斷氣的那個時候,...

如何在一幅緯度圖當中判斷哪邊是迎風坡

一般判斷迎風坡會涉及到地形或是其他附加條件吧 如果只有緯度,我想大概只能考慮風帶吧,假如是西風帶,那肯定是西坡為迎風坡啊。總之,結合圖才好具體來說,奈何你給的文字資訊太少,我也不好分析 如何判斷是迎風坡還是背風坡 判斷 風沿斜坡往自上吹的為迎風坡,風沿斜坡往下吹的為背風坡。迎風坡的降水比較多,背風坡...

如何在戀愛當中掌握主動權,男人在戀愛中如何掌握主動權?

百味交感 一般來說,要維持你在一段感情中的主動權,有一點是很重要的,那就是你們兩個人彼此之間的地位差距不能太大。無論是高攀還是將就,對於感情的主動權都會有很大影響,也是維持長期穩定感情的最大阻礙。我們的老祖宗之所以一直以來都堅持在談戀愛或者擇偶的時候要考慮門當戶對,其實就是因為有了這個基礎以後,兩個...