學習日誌 姓名:張奇哲 日期:7.24
今日學習任務
無表頭鍊錶
帶表頭鍊錶
今日任務完成情況
(詳細說明本日任務是否按計畫完成,開發的**量)
完成了鍊錶的基本操作。
今日開發中出現的問題彙總
能夠讀懂鍊錶的操作方式,但是,自己編寫起來會出現問題
今日未解決問題無
今日開發收穫
學會了鍊錶的各種操作,彌補了自己知識上的空缺,並且學會了使用,為之後的學習與使用打下了基礎。
自我評價
(是否按開發規範完成既定任務,需要改進的地方,與他人合作效果等)
基本能夠跟上進度,但因為鍊錶操作較多,所以未能完全掌握,需要課後進行總結與提高。還需要充分進行理解,加以掌握。
其他
#include
#include
struct node
int num;
struct node *next;
typedef struct node node;
typedef node * link;
enum node_node
link_empty,
success,
fail,
delete_success,
delete_fail,
resever_success,
resever_fail
void creat_link(link *head)
*head = null;
void insert_head_node(link newnode,link *head)
if( *head == null)
newnode->next = null;
*head = newnode;
else
newnode->next = *head;
*head = newnode;
void display_link(link head)
link temp = head;
while(temp != null)
printf("%d\n",temp->num);
temp = temp->next;
void insert_tail_node(link newnode, link *head)
link temp2 = *head;
if( *head == null)
newnode->next = null;
*head = newnode;
else
while( temp2->next != null)
temp2 = temp2->next;
newnode->next = null;
temp2->next = newnode;
int insert_mid_node(link newnode,link *head,int num)
if( *head == null)
return link_empty;
else
link te*** = *head;
while( te*** != null)
if(te***->num == num)
newnode->next = te***->next;
te***->next = newnode;
return success;
te*** = te***->next;
return fail;
int delete_node(link *head,int num)
link temp = *head;
if( *head == null)
return link_empty;
while( *head != null)
if( temp->next == null)
temp = temp->next;
free(temp);
temp = null;
return delete_success;
else
link p = temp;
temp = temp->next;
if(temp->num == num)
p->next = temp->next;
free(temp);
temp = null;
return delete_success;
p = temp;
temp = temp->next;
return delete_fail;
int resever_node(link *head)
if( *head == null || (*head)->next == null)
return resever_fail;
link p = *head;
link s = p->next;
link t = s->next;
while( t != null )
s->next = p;
p = s;
s = t;
t = t->next;
s->next = p;
(*head)->next = null;
*head = s;
return resever_success;
int main()
int i;
link head;
link newnode;
creat_link(&head);
for(i = 0 ; i < 10 ; i++)
newnode = (link)malloc(sizeof(node));
newnode->num = i + 1;
insert_head_node(newnode,&head);
//insert_tail_node(newnode,&head);
display_link(head);
printf("-----------------------\n");
// delete_node(&head,5);
resever_node(&head);
display_link(head);
#if 0
printf("-----------------------\n");
newnode = (link)malloc(sizeof(node));
newnode->num = 100;
if(insert_mid_node(newnode,&head,5) == success)
display_link(head);
else
printf("link is full or not find\n");
#endif
return 0;
蘇嵌 張奇哲 2018 7 10
學習日誌 姓名 張奇哲 日期 7.10 今日學習任務 1.vim文字編輯器的基本使用 2.linux基本操作指令 3.gcc交叉平台編譯器的使用 4.c語言處理的步驟 今日任務完成情況 詳細說明本日任務是否按計畫完成,開發的 量 基本完成了以上學習任務的學習,但學習知識較多,需要課後自己進行總結與整...
蘇嵌 張奇哲 2018 7 16
學習日誌 姓名 張奇哲 日期 7.16 今日學習任務 變數與常量 計算機虛擬空間 基本運算子使用 位運算今日任務完成情況 詳細說明本日任務是否按計畫完成,開發的 量 完成了教學安排的任務,同時學習了變數與常量的基本知識。課上老師還拓展了相關虛擬空間的知識。下午就主要學習了運算子和位運算。完成了三個基...
蘇嵌 張奇哲 2018 7 17
學習日誌 姓名 張奇哲 日期 7.17 今日學習任務 什麼是指標 為什麼需要指標 指標的位元組長度 運算子的作用 多維指標的作用 什麼是野指標 如何避免野指標 函式的基本語法和程式框架 今日任務完成情況 詳細說明本日任務是否按計畫完成,開發的 量 完成了今日的學習內容的學習,學到了指標與函式相關使用...