學習日誌 姓名: 日期:
今日學習任務
1、熟練掌握鍊錶的所有操作;(單鏈表、單向迴圈,雙向迴圈鍊錶)
今日任務完成情況
(詳細說明本日任務是否按計畫完成,開發的**量)
1、熟練掌握鍊錶的所有操作;(單鏈表)
今日開發中出現的問題彙總無
今日未解決問題
單向迴圈鍊錶的初始化、頭插、尾插、中間插入、刪除、倒序
今日開發收穫
資料結構作用:管理資料:(存、取、遍歷、查詢)
鍊錶作用:解決陣列帶來的空間利用問題;陣列靜態分配容易造成浪費,鍊錶動態分配空間
編寫鍊錶步驟:1.定義節點型別,確定資料域2.定義頭指標3.初始化鍊錶
while(temp != null)是遍歷所有節點
while(temp->next != null)是用來找最後乙個節點
自我評價
(是否按開發規範完成既定任務,需要改進的地方,與他人合作效果等)
基本完成今天的學習進度
其他無
**:1、 簡單單鏈表實現
1 #include
23 struct node
4 ;8
9 int main()
10 31 return 0;
32 }
2、單向鍊錶(不帶表頭)的初始化、頭插、尾插、中間插入、刪除、倒序
1 #include
2 #include
3 enum result
4 ;13
14 struct node
15 ;
21 typedef struct node node;
22 typedef node * link;
2324
25 void create_link(link *head)
26 29
30 void insert_head_node(link newnode,link *head)
31 35
36 int insert_mid_node(link newnode,link *head,int num)
37 42 else
43
53 temp = temp->next;
5455 }
5657 return insert_fail;
58 }
5960 }
61 void insert_tail_node(link newnode,link *head)
62 68 else
69
7576 temp->next = newnode;
77 newnode = null;
78 }
7980 }
8182 int delete_node(link *head,int num)
83 88 link temp = *head;
89 if((*head)->num == num)
90
96 else
97
109110 p = temp;
111 temp = temp->next;
112 }
113 }
114 return delete_fail;
115116 }
117118 int reverse_link(link *head)
119
124 link p = *head;
125 link s = p->next;
126 link t = s->next;
127 while(t != null)
128
134 s->next = p;
135 (*head)->next = null;
136 *head = s;
137138 return reverse_success;
139 }
140141
142 void display_node(link head)
143
150 }
151152 int main()
153
168 //newnode = (link)malloc(sizeof(node));
169 //delete_node(&head,7);
170 reverse_link(&head);
171 display_node(head);
172 #if 0
173 newnode->num = 11;
174 if(insert_mid_node(newnode,&head,5) == insert_success)
175
179 else
180
183 #endif
184185 return 0;
186 }
3、單向鍊錶(帶表頭)的初始化、頭插、尾插、中間插入、刪除、倒序 1 1 #include
2 #include
3 enum result
4 ;13
14 struct node
15 ;
21 typedef struct node node;
22 typedef node * link;
2324
25 void create_link(link *head)
26 30
31 void insert_head_node(link newnode,link *head)
32 36
37 int insert_mid_node(link newnode,link *head,int num)
38 48 temp = temp->next;
4950 }
5152 return insert_fail;
5354 }
55 void insert_tail_node(link newnode,link *head)
56 62
63 temp->next = newnode;
64 newnode->next = null;
6566 }
6768 int delete_node(link *head,int num)
69 84
85 p = temp;
86 temp = temp->next;
87 }
8889 return delete_fail;
9091 }
9293 int reverse_link(link *head)
94 99 link p = *head;
100 link s = p->next;
101 link t = s->next;
102 while(t != null)
103
109 s->next = p;
110 (*head)->next->next = null;
111 (*head)->next = s;
112113 return reverse_success;
114 }
115116
117 void display_node(link head)
118
125 }
126127 int main()
128
143 //delete_node(&head,7);
144 //reverse_link(&head);
145 //display_node(head);
146147 newnode = (link)malloc(sizeof(node));
148 newnode->num = 11;
149 if(insert_mid_node(newnode,&head,5) == insert_success)
150
154 else
155
158159 return 0;
160 }
蘇嵌 鄭艷秋 2018 7 12
今日學習任務 1 輔導老師完成學習內容答疑 2 3小時完成c語言摸底測試 今日任務完成情況 詳細說明本日任務是否按計畫完成,開發的 量 1 基本完成老師布置的嵌入式linux開發工具篇題目整理 2 基本完成c語言程式的編寫 今日開發中出現的問題彙總 1 實時性的定義 2 對posix gnu gpl...
蘇嵌 鄭艷秋 2018 7 20
今日學習任務 1 熟練特殊陣列的使用 指標陣列 函式指標陣列等 2 熟練掌握右左法則的使用 複雜定義宣告解釋 今日任務完成情況 詳細說明本日任務是否按計畫完成,開發的 量 1 熟練特殊陣列的使用 指標陣列 函式指標陣列等 2 熟練掌握右左法則的使用 複雜定義宣告解釋 今日開發中出現的問題彙總無 今日...
蘇嵌 日誌 周文東 7月20日
蘇嵌 專案實戰 學習日誌 姓名 周文東 日期 7月20日 今日學習任務 陣列指標 指標陣列 函式指標 函式指標陣列 今日任務完成情況 詳細說明本日任務是否按計畫完成,開發的 量 今天任務按計畫完成,如何使用指標陣列和數字指標,對陣列的分類進行了講解。開發量還蠻簡單的,舉一反撒即可。今日開發中出現的問...