演算法筆記 鍊錶遍歷

2021-10-03 06:04:26 字數 898 閱讀 5337

建立乙個公升序鍊錶並遍歷輸出

1.單鏈表結點定義

typedef struct lnode;
2.假設有n個元素已經儲存在陣列a中,用尾插法建立鍊錶c

void createlistr(lnode *&c,int a,int n)

r->next = null; //陣列a中所有的元素都已經裝入鍊錶c中,c的終端

//結點的指標域置為null,c建立完成

}

3.列印鍊錶中的資料

思路一:先將資料排好序,利用尾插法依次插入到鍊錶中

思路二:邊判斷邊插入

思路一**:

#include#includeusing namespace std;

typedef struct lnode;

void createlistr(lnode *&c,int a,int n)

r->next = null;//陣列a中所有的元素都已經裝入鍊錶c中,c的終端

//結點的指標域置為null,c建立完成

}void print(lnode *head)

cout

while(scanf("%d",&n)!=eof)

lnode *temp = (lnode*)malloc(sizeof(lnode));

temp->data = data;

temp->next = p->next;

p->next = temp;

}

演算法筆記 鍊錶

鍊錶結構如下 struct listnode int m nvalue listnode m pnext 1.輸入乙個鍊錶,輸出該鍊錶中倒數第k個結點。2.求鍊錶的中間結點。如果鍊錶中結點總數為奇數,返回中間結點,如果結點總數是偶數,返回中間兩個結點的任意乙個。3.判斷乙個單向鍊錶是否形成了環形結構...

演算法筆記 鍊錶

基本操作 建立鍊錶 尾插法和頭插法 include includeusing namespace std struct node 尾插法建立鍊錶 node create int array return head int main node l create array l l next while...

《演算法筆記》鍊錶

動態鍊錶的操作 增刪改查 鍊錶一般是帶頭結點的鍊錶,頭結點並沒有資料 遍歷鍊錶時,先令p head next,只要p非空,就可以一直迴圈 刪除鍊錶元素時,需要兩個指標,乙個指向將要刪除的元素,另乙個指向刪除元素的前驅 增加元素時,要先找到目標元素,然後新建乙個節點,在這個目標元素的後面加上新建節點 ...