資料結構1

2021-10-10 23:28:31 字數 2998 閱讀 4636

#include

using

namespace std;

const

int n =

100010

;// head 表示頭結點的下標

// e[i] 表示節點i的值

// ne[i] 表示節點i的next指標是多少

// idx 儲存當前已經用到了哪個點

int head, e[n]

, ne[n]

, idx;

// 初始化

void

init()

// 將x插到頭結點

void

add_to_head

(int x)

// 將x插到下標是k的點後面

void

add(

int k,

int x)

// 將下標是k的點後面的點刪掉

void

remove

(int k)

intmain()

else

if(op ==

'd')

else

}for

(int i = head; i !=-1

; i = ne[i]

) cout << e[i]

<<

' ';

cout << endl;

return0;

}

#include

using

namespace std;

const

int n =

100010

;int m;

int e[n]

, l[n]

, r[n]

, idx;

// 在節點a的右邊插入乙個數x

void

insert

(int a,

int x)

// 刪除節點a

void

remove

(int a)

intmain()

else

if(op ==

"r")

else

if(op ==

"d")

else

if(op ==

"il"

)else

}for

(int i = r[0]

; i !=

1; i = r[i]

) cout << e[i]

<<

' ';

cout << endl;

return0;

}

// tt表示棧頂

int stk[n]

, tt =0;

// 向棧頂插入乙個數

stk[

++ tt]

= x;

// 從棧頂彈出乙個數

tt --

;// 棧頂的值

stk[tt]

;// 判斷棧是否為空

if(tt >0)

#include

using

namespace std;

const

int n =

100010

;int m;

int stk[n]

, tt;

intmain()

else

if(op ==

"pop"

) tt --

;else

if(op ==

"empty"

) cout <<

(tt ?

"no"

:"yes"

)<< endl;

else cout << stk[tt]

<< endl;

}return0;

}

常見模型:找出每個數左邊離它最近的比它大/小的數

int tt =0;

for(

int i =

1; i <= n; i ++

)

#include

using

namespace std;

const

int n =

100010

;int stk[n]

, tt;

intmain()

return0;

}

// hh 表示隊頭,tt表示隊尾

int q[n]

, hh =

0, tt =-1

;// 向隊尾插入乙個數

q[++ tt]

= x;

// 從隊頭彈出乙個數

hh ++

;// 隊頭的值

q[hh]

;// 判斷佇列是否為空

if(hh <= tt)

// hh 表示隊頭,tt表示隊尾的後乙個位置

int q[n]

, hh =

0, tt =0;

// 向隊尾插入乙個數

q[tt ++

]= x;

if(tt == n) tt =0;

// 從隊頭彈出乙個數

hh ++;if

(hh == n) hh =0;

// 隊頭的值

q[hh]

;// 判斷佇列是否為空

if(hh != tt)

常見模型:找出滑動視窗中的最大值/最小值

int hh =

0, tt =-1

;for

(int i =

0; i < n; i ++

)

資料結構 1

線性結構 線性表,棧,佇列,串。線性結構特點 結構中的資料元素之間存在一對一的線性關係。線性表 線性表 最簡單 最基本 最常用的資料結構。操作不受限定。順序表 用順序儲存方式的線性表叫順序表。線性表的順序儲存方式 在記憶體中用一塊位址連續的空間一次存放線性表的資料元素。特點 表中相鄰的資料元素在記憶...

資料結構 1

資料結構是研究非數值計算的程式設計問題中計算機的操作物件以及它們之間的關係和操作的一門課程。具體地說,資料結構指的是資料元素之間的邏輯結構 儲存結構以其資料的抽象運算,即按某種邏輯關係組織起來的一組資料,再按一定的儲存表示方式把它們儲存在計算機的儲存器中,並在這些資料上定義乙個運算的集合.資料結構 ...

資料結構 1

1.基本資料組織和資料處理方法 2.資料結構的邏輯特性和儲存結構設計 演算法設計 基本資料結構 線性表,陣列,棧,樹,佇列,二叉樹,串,圖 3.資料如何表示 選擇合適的資料結構 資料運算如何實現 資料運算如何高效實現 4.資料結構基本概念,基本原理和基本方法 練習 優化 5.資料 所有能夠輸入到計算...