蘇嵌 張奇哲 2018 07 24

2021-08-21 17:52:09 字數 3569 閱讀 2926

學習日誌                                       姓名:張奇哲        日期: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 今日學習任務 什麼是指標 為什麼需要指標 指標的位元組長度 運算子的作用 多維指標的作用 什麼是野指標 如何避免野指標 函式的基本語法和程式框架 今日任務完成情況 詳細說明本日任務是否按計畫完成,開發的 量 完成了今日的學習內容的學習,學到了指標與函式相關使用...