單鏈表的結構以及基礎演算法

2022-09-13 06:48:09 字數 1356 閱讀 6398

//單鏈表結構

typedef struct lnode

lnode,*linklist;

//以上**類似於

/* typedef struct lnode lnode; //將結構體重命名為lnode,是結構體型別

typedef struct lnode *linklist; //將結構體指標重新命名為linklist,是指標型別

*/typedef struct data

data;

//前插法建立單向鍊錶,鍊錶最終是輸入的倒序

void createlistformer(linklist &l,int n)

}//後插法建立鍊錶,鍊錶最終是正序

void createlisttail(linklist &l, int n)

}

/*假設鍊錶為1→2→3→∅,我們想要把它改成 ∅←1←2←3。

在遍歷鍊錶時,將當前節點的 next 指標改為指向前乙個節點。由於節點沒有引用其前乙個節點,因此必須事先儲存其前乙個節點。在更改引用之前,還需要儲存後乙個節點。最後返回新的頭引用。

每次要做的就是將當前節點的next指向pre

*///單鏈表

class solution

return prev;

}};

void addpoint(linklist &l) //這裡定義新增節點為在第pos個節點之前新增

p->next = t;

} else //其他

while (pos--)

t->next = p;

pre->next = t;

}}

//單鏈表

void deletepoint(linklist &l)//刪除第n個節點

if (n <= 0 || n > p->val)

if (n == p->val) //刪除尾節點

p->next = null;

} else //其他

pre->next = p->next;

}}

void findpoint(linklist l)

int n;

cin >> n;

if (n < 1 || n > p->val)

while (n--)

cout << p->val << endl;

}

//列印鍊錶

void printlist(linklist l)

}

單鏈表基礎演算法

linklist.h 標頭檔案 ifndef linklist h define linklist h typedef char elemtype typedef struct node 結點型別定義 node,linklist linklist為結構指標型別 node locate linklis...

資料結構 單鏈表 基礎

在實現單鏈表的基本功能後 單鏈表的幾個基本問題 1.比較順序表和煉表的優缺點,說說它們分別在什麼場景下使用?順序表 物理位置相鄰 優點 在一段記憶體中用陣列連續存放,所以方便隨機查詢元素。缺點 動態開闢,容易造成記憶體浪費,需要乙個元素,開闢過多。前面新增元素時,要逐個挪動後面的每個元素,較麻煩。場...

資料結構基礎 單鏈表

關於單鏈表的一些基本操作,以下為基本思路 首先看一張直觀圖 鍊錶的結構體定義如下 為簡便,這裡的elemtype採用int 單鏈表 typedef struct lnode linklist 接下來肯定就是建立鍊錶,而目前建立單鏈表分為兩種方式,分別是 頭插法 與 尾插法 首先看圖示 清楚明白 我們...