亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定

作業社區

探索學習新天地,共享知識資源!

0 提交作業
0 布置作業
0 滿分作業
得分 100
討論題

cjozGV 的學生作業:

#include "stdio.h" #include "stdlib.h" #include "string.h" typedef int datatype_a; //定義數據類型 typedef struct linknode{ datatype_a data; //數據域 struct linknode *next; //指針域 } linknode_t; //1.創建一個新鏈表,為頭節點在棧區分配空間 linknode_t *create_empty_linklist(){ //1.為頭節點在堆區分配空間,用指針head保存 linknode_t *head = NULL; head = (linknode_t *)malloc(sizeof(linknode_t)); //2.頭節點的指針域為NULL if (NULL == head){ printf("malloc is fail!\n"); return NULL; } memset(head,0, sizeof(linknode_t)); return head; } //2.有序插入從大到小 void insert_order_linklist(linknode_t *head,datatype_a data){ //1創建新節點 linknode_t *new_dode = NULL; new_dode = (linknode_t *)malloc(sizeof(linknode_t)); if (NULL == new_dode){ printf("malloc is fail!\n"); return; } new_dode->data = data; //存儲數據 //2.找到插入位置 linknode_t *p = head; //從頭節點開始遍歷 while (p->next != NULL && p->next->data > data){ p = p->next; //繼續往后找 } //3.插入新的節點 new_dode->next = p->next; //新節點指向p的下一個節點 p->next = new_dode; //p指向新節點 } //3.打印鏈表中的數據 void printf_data_linklist(linknode_t *heda){ linknode_t *p = heda->next; //跳過頭節點(頭節點不存儲數據) printf("linked list (Descending) Order "); while (p != NULL){ printf("%d ",p->data); //打印當前數據 p=p->next; //移到下一個節點 } printf("\n"); } //4.釋放鏈表占用的內存 void free_linklist(linknode_t *head) { linknode_t *p = head; // 從頭節點開始釋放 while (p != NULL) { linknode_t *temp = p; // 暫存當前節點 p = p->next; // 移動到下一個節點 free(temp); // 釋放當前節點 } } int main(){ //1.創建空鏈表 linknode_t *head = create_empty_linklist(); //2.準備要插入的數據 datatype_a data[] = {1,5,3,7,9}; int n = sizeof(data) / sizeof(data[0]); //3.有序插入數據 for (int i = 0; i < n; i++) { insert_order_linklist(head,data[i]); } //4.打印鏈表 printf_data_linklist(head); //5.釋放鏈表內存 free_linklist(head); return 0; }

微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號