#include using namespace std;
const int n = 100010;
int e[n],ne[n],head = -1,idx;
//向煉表頭插入乙個數x o(1)
void add_to_head(int x)
//在第k個插入的數後面插入乙個數x o(1),要用鍊錶那就是o(n)
void add(int k,int x)
// 刪除第 k 個插入的數後面的數(當 k 為 0 時,表示刪除頭結點)o(1)
void del(int k)
}int main()else if(op == 'i')else if(op == 'd')
}for(int i = head; i != -1; i = ne[i])
return 0;
}
#include using namespace std;
const int n = 100010;
int e[n],l[n],r[n],head = - 1,idx;
//在節點a(下標idx)的右邊插入乙個數
void insert(int a,int x)
//刪除節點a
void remove(int a)
int main()else if(op == "r")else if(op == "d")else if(op == "il")else if(op == "ir")
}for(int i = r[0]; i != 1; i = r[i])
return 0;
}
#include using namespace std;
const int n = 100010;
int stk[n],idx = -1;
int main()
if(op == "pop")
if(op == "query")
if(op == "empty")
}return 0;
}
資料結構 第二講 線性結構(堆疊和佇列)
堆疊和佇列都是對線性表做一些特殊的限制,形成了兩種儲存資料的結構,乙個是先進後出 乙個是先進先出 可以解決實際生活中遇到的一些問題,資料庫也可以理解成一種資料結構,只不過這種結構比較普通罷了。2.2.1 什麼是堆疊 先進後出,後進先出的線性表就是堆疊,相當於對線性表的操作做一些特殊的限制 堆疊 有一...
第二講 線性結構
1,順序儲存 線性表是零個或多個資料元素的有限序列,元素之間有順序,且第乙個元素無前驅,最後乙個元素沒有後繼,其它的元素都有乙個前驅乙個後繼,就是我們說的一對一。我們先來談一談順序儲存結構,順序儲存是通過一維陣列來實現的,且順序結構儲存需要三個屬性,儲存空間的起始位置,線性表的最大儲存容量,以及線性...
第二講線性結構
簡單來說像這樣的猶如一條線的結構就屬於線性結構常見有我們熟知的陣列還有單鏈表。在學資料結構之前我們對陣列就很了解了,最簡單的就是一維陣列,一維陣列也是最簡單的線性結構。優點 1.訪問方便,之間訪問下標對應元素即可 2.寫起來也方便用起來也方便看著也舒服 缺點 1.在中間位置插入元素時,其後所以元素都...