資料結構:列表、棧、佇列、鍊錶、字典、雜湊、圖和二叉查詢樹!
排序演算法:冒牌、選擇、插入、希爾、歸併和快速!
查詢演算法:順序查詢和二分查詢
在平時工作中,對陣列的操作很是平常,它提供了很多方法使用,比如位置方法、迭代方法、賦值方法等等,而掌握佇列和棧的資料結構使用則會提高你的工作效率!o(∩_∩)o~~
棧是一種後進先出的資料結構,也就是說最新新增的項最早被移出;它是一種運算受限的線性表,只能在表頭/棧頂進行插入和刪除操作。
棧有棧底和棧頂。
向乙個棧插入新元素叫入棧(進棧),就是把新元素放入到棧頂的上面,成為新的棧頂;
從乙個棧刪除元素叫出棧,就是把棧頂的元素刪除掉,相鄰的成為新棧頂;
也就是說棧裡面的元素的插入和刪除操作,只在棧頂進行;
打個比方:一隊人馬走入了一條死胡同,只有乙個入口,無出口,想要出去就只能把尾變成首開始出去;
在網上找了幾張關於出棧入棧的圖以供參考:
js也為陣列提供了方法可以實現類似入棧出棧功能, 入棧push()、 出棧pop();
例子:
後進先出,最後插入的數,先取出!
先:
再:
1var a=new
array();
2 a.push(1);
3 a.push(2);
4 a.push(3);
5 a.push(4);a.pop()
1佇列是一種先進先出的資料結構。 佇列在列表的末端增加項,在首端移除項。var arr=;
2for(var i=1;i<5;i++)
8for(var i=1;i<=arr.length;i++)
它允許在表的首端(佇列頭)進行刪除操作,在表的末端(佇列尾)進行插入操作;(例如在銀行視窗排隊辦理業務,最前面的第乙個人開始辦理,後面來的人只能在隊伍末尾排隊,直到排到他們為止)
佇列是實現多工的重要機制!
相反的來說,可以在末端刪除項,在首端插入項。
找了幾張關於佇列的圖以供參考:
js為陣列提供了方法可以實現佇列功能, 入隊unshift()、 出隊pop();
例子:佇列先進先出,先被插入的資料,先被取出!
方法,它能在陣列首端新增任意個項並返回新陣列的長度
pop()方法,刪除並返回陣列的最後乙個元素
unshift()方法,它能在陣列首端新增任意個項並返回新陣列的長度
shift()方法,刪除並返回陣列的第乙個元素
需要注意的一點是,按照先進先出的佇列規則讓第乙個元素出隊時,可使用shift()方法來完成。
出隊區別使用 shift() 和 pop()
資料結構 棧和佇列相關操作
include using namespace std 棧typedef struct stack 初始化棧 void stack init stack s 入棧 void stack push stack s,int e s.top e s.top 出棧 void stack pop stack ...
資料結構 棧和佇列的操作 c
要求 1 程式設計實現棧的以下基本操作 建棧,取棧頂元素,入棧,出棧。2 程式設計實現佇列的以下基本操作 建佇列,取隊頭元素,入隊,出隊。include define ok 1 define error 0 define maxsize 100 typedef int selemtype typed...
資料結構 棧和佇列
棧 基礎 知識棧 練習題 佇列 基礎知識 棧示意圖 後進先出 順序棧結構定義 define maxsize 1024 struct stack 操作函式 push 入棧 pop 出棧 struct lstack 鏈棧示意圖 操作函式 push 入棧 pop 出棧 注意 也可以直接呼叫系統已經寫好的庫...