設帶頭結點的非空單鏈表 l,設計乙個演算法刪除 l 中奇數序號
的結點,即刪除 l 中第 1、3、5…結點。
(應該是對的,唉,我也忘了)
//設計演算法刪除單鏈表奇數序號的節點
#include
#include
#include
#define elemtype int
typedef
struct node
listnode;
//頭插法建立單
node *
creatlist
(int
*arr,
int length)
return head;
}//刪除操作 ok
node *
delete
(listnode *head)
return head;
}//輸出函式
void
printlistnode
(listnode*p)
else}}
intmain()
p =creatlist
(arr, length)
;printf
("建立的單鏈表:\n");
printlistnode
(p);
printf
("\n");
p =delete
(p);
printf
("刪除奇數結點後的鍊錶:\n");
printlistnode
(p);
return0;
}
單鏈表演算法
遍歷 就是把單鏈表中的各個節點挨個拿出來,就叫遍歷 遍歷要點 不能遺漏,不能重複,追求效率 方法 從頭指標 頭節點 順著鍊錶掛接指標依次訪問鍊錶的各個節點,取出這個節點的資料,然後再往下乙個節點,知道最後乙個節點,結束返回 include include include 構建乙個鍊錶的節點 stru...
演算法 單鏈表之和
今天看到 待字閨中 的一道演算法題 兩個單鏈表,每乙個節點裡面乙個0 9的數字,輸入就相當於兩個大數了。然後返回這兩個數字的和 乙個新的list 這兩個輸入的list長度相等。要求 1 不用遞迴 2 要求演算法的時間和空間複雜度盡量低 分析 0 9之間的數相加,最大的進製是1,如果只要求遍歷兩個鍊錶...
單鏈表全部演算法
本篇純粹體現鍊錶各種操作的具體 實現,採用了帶頭結點的單鏈表,廢話不多說,直接上 注釋 include include 鍊錶的結構 typedef struct lnode linklist 列印鍊錶 void showlinklist linklist l 初始化鍊錶,使指標指向頭結點 void ...