建立乙個公升序鍊錶並遍歷輸出
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非空,就可以一直迴圈 刪除鍊錶元素時,需要兩個指標,乙個指向將要刪除的元素,另乙個指向刪除元素的前驅 增加元素時,要先找到目標元素,然後新建乙個節點,在這個目標元素的後面加上新建節點 ...