//單鏈表結構
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 接下來肯定就是建立鍊錶,而目前建立單鏈表分為兩種方式,分別是 頭插法 與 尾插法 首先看圖示 清楚明白 我們...