一、插入結點
具體**實現:
status listinsert(linklist *l, int i,elemtype e)
s = (linklist)malloc(sizeof(node));
s->data = e;
s->next = p->next;
p->next = s;
return ok;
}二、刪除結點
p->next = p->next->next,也就是:q=p->next;p->next=q->next
具體**:
status listdelete(linklist *l, int i,elemtype *e)
q = p->next;
p->next = q->next;
*e = q->data;
free(q);
return ok;
}三、單鏈表整表建立
跟插入類似,但是加入了乙個迴圈生產一整個鍊錶
插入的方式可以插在初始的頭前面,也可以在頭的後面。
具體**:
}四、單鏈表整表刪除
感覺也是跟刪結點差不多,只不過也是加了個迴圈
status clearlist(linklist *l)
(*l)->next = null;
return ok;
資料結構學習筆記(四)
這道題剛開始自己想沒有很好的思路來判斷輸入的序列是否構成同一棵二叉搜尋樹。關於要構造幾顆樹,輸入乙個序列構造乙個然後再將兩顆樹比較,還是只要構造一顆,還是不用構造?比較好的解決辦法是由第乙個序列構造一顆,之後輸入的序列裡的數再與這顆搜尋樹比較,來判斷。那麼怎樣判斷呢?可以發現如果乙個數插入時經過了之...
資料結構 網課筆記(四)
二分查詢轉向左右分支前的關鍵碼比較次數不等,遞迴深度卻相等。進入左分支需要比較一次,進入右分支需要比較兩次 遞迴深度不均衡,對轉向成本的不均衡進行補償。設n fib k 1,mi fib k 1 1。每次迭代僅做一次關鍵碼比較,所有分支只有2個方向。僅在hi lo 1時才判斷是否命中。比原版本最好的...
資料結構(四)
同學說我更新得太慢了。是啊,隔了好久才更新一次。其實我也想快點的更新,更新得越快同時也說明我掌握知識的速度越快,越多。但是工作不允許啊。每天早出晚歸,空閒的實現還要分配一點給外語。不過,以後我會努力的,只要有朋友的支援,我會把我的所學和經驗奉獻給大家。有點開源的精神吧。呵呵,當然了,我還沒有哪個資格...