C vs Python 資料結構

2022-07-10 04:45:14 字數 1314 閱讀 2916

佇列

// c++

using namespace std;

queueq; // 普通佇列

q.push(1); // queue的尾部新增乙個元素的副本

q.front(); // 返回queue中第乙個元素的引用

q.pop(); // 刪除queue中的第乙個元素

q.size(); // 返回queue中元素的個數

q.empty(); // queue是否為空

q.back(); // 返回queue中最後乙個元素的引用

// ------------------------------------

#include dequedq; // 雙端佇列

dq.push_front(1); // 頭部增加元素

dq.push_back(2); // 尾部增加元素

dq.pop_front(); // 刪除頭部第乙個元素

dq.pop_back(); // 刪除尾部第乙個元素

dq.front(); // 返回首元素的引用

dq.back(); // 返回尾元素的引用

dq.insert(); // 某元素前增加新元素

dq.erase(); // 刪除某一元素

dq.size(); // 元素個數

dq.empty(); // 是否為空

# python3

import collections

d = collections.deque() # deque為雙端佇列

d.extend(['c','d']) # 在最右邊新增所有元素,(['b', 'a', 'c', 'd'])

d.extendleft(['e','f']) # 在最左邊新增元素,(['f', 'e', 'b', 'a', 'c', 'd'])

d.pop() # 將最右邊的元素取出,返回 'd',(['f', 'e', 'b', 'a', 'c'])

d.popleft() # 將最左邊的元素取出,返回 'f',(['e', 'b', 'a', 'c'])

d.rotate(-2) # 向左旋轉兩個位置(正數則向右旋轉),(['a', 'c', 'e', 'b'])

d.count('a') # 佇列中'a'的個數,返回 1

d.remove('c') # 從佇列中將'c'刪除,(['a', 'e', 'b'])

d.reverse() # 將佇列倒序(['b', 'e', 'a'])

資料結構 資料結構緒論

資料結構是相互間存在一種或多種特定關係的資料元素的集合。程式設計 資料結構 演算法 資料結構是一門研究非數值計算的程式設計問題中的操作物件,以及他們之間的關係和操作等相關問題的學科。資料元素是組成資料的 有一定意義的基本單位,是計算機中通常作為整體處理,也被稱為記錄。乙個資料元素可以由若干個資料項組...

資料結構 資料結構演算法

分治法 對於乙個規模為n的問題,若該問題可以容易地解決 比如說規模n較小 則直接解決 否則將其分解為k個規模較小的子問題,這些子問題互相獨立且與原問題形式相同,遞迴地解這些子問題,然後將各子問題的解合併得到原問題的解。動態規劃法 這種演算法也用到了分治思想,它的做法是將問題例項分解為更小的 相似的子...

資料結構 01 資料與資料結構

1.資料data 資料是描述客觀事物的符號,是計算機中可以操作的物件,是能被計算機識別,並輸入給計算機處理的符號集合。2.資料元素data elements 資料元素是組成資料的 有一定意義的基本單位,在計算機中通常作為整體進行處理。3.資料物件data object 資料物件是性質相同的資料元素的...