第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

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

作業(yè)社區(qū)

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

0 提交作業(yè)
0 布置作業(yè)
0 滿分作業(yè)
得分 100
學習任務

不能說的PP 的學生作業(yè):

linklist.h: #ifndef LINKLIST_H #define LINKLIST_H #include #include #include typedef int datatype_t; typedef struct node { datatype_t data; //數(shù)據(jù)域保存有效數(shù)據(jù) struct node *next; //指針域保存下一個結點的地址 }linknode_t; extern linknode_t *create_empty_linklist(); extern void insert_head_linklist(linknode_t *head,datatype_t data); extern void printf_data_linklist(linknode_t *head); extern void insert_tail_linklist(linknode_t *head,datatype_t data); extern void insert_order_linklist(linknode_t *head,datatype_t data); extern int is_empty_linklist(linknode_t *head); extern int delete_data_linklist(linknode_t *head,datatype_t data); extern void reverse_data_linklist(linknode_t *head); extern void clean_up_linklist(linknode_t *head); #endif linklist.c: #include “linklist.h” //1.創(chuàng)建空的鏈表—為頭結點在堆區(qū)分配空間 linknode_t *create_empty_linklist() { linknode_t *head = NULL; //1.1 分配堆區(qū)空間 head = (linknode_t *)malloc(sizeof(linknode_t)); if(NULL == head) { printf("malloc is fail!\n"); return NULL; } memset(head,0,sizeof(linknode_t)); //head->next = NULL; //head->data = 0; return head; } //2.頭插法:每次都在頭結點后插入數(shù)據(jù) //特點:插入的順序和輸出的順序是相反的 void insert_head_linklist(linknode_t *head,datatype_t data) {//2.1 為結點在堆區(qū)申請空間 linknode_t *temp = (linknode_t *)malloc(sizeof(linknode_t)); if(NULL == temp) { printf(“malloc is fail!\n”); return ; } //2.2 插入數(shù)據(jù) temp->data = data; //2.3 連接結點 temp->next = head->next; head->next = temp; return ; } //尾插法:每次都在尾結點后插入數(shù)據(jù) void insert_tail_linklist(linknode_t *head,datatype_t data) {//2.1 尾結點在堆區(qū)申請空間 linknode_t *temp = (linknode_t *)malloc(sizeof(linknode_t)); if(NULL == temp) { printf(“malloc is fail!\n”); return ; } //2.2 插入數(shù)據(jù) temp->data = data; //2.3 找到結尾點 linknode_t *p = head; while(p->next != NULL) { p = p->next; } //2.4 連接結點 temp->next = p->next; p->next = temp; return ; } //有序插入法:每次都在尾結點后插入數(shù)據(jù) void insert_order_linklist(linknode_t *head,datatype_t data) {//2.1 尾結點在堆區(qū)申請空間 linknode_t *temp = (linknode_t *)malloc(sizeof(linknode_t)); if(NULL == temp) { printf(“malloc is fail!\n”); return ; } //2.2 插入數(shù)據(jù) temp->data = data; linknode_t *p = head; //2.3 p指針向后遍歷 while(p->next != NULL && data < p->next->data) { p = p->next; } //在p結點后插入temp結點 temp->next = p->next; p->next = temp; return ; } //3.輸出鏈表中的內(nèi)容 void printf_data_linklist(linknode_t *head) { linknode_t *p = head; while(p->next != NULL) { printf("%d ",p->next->data); p = p->next; } printf("\n"); return; } int is_empty_linklist(linknode_t *head) { return head->next == NULL ? 1 : 0; } int delete_data_linklist(linknode_t *head,datatype_t data) { linknode_t *p = NULL; linknode_t *q = NULL; int flag = 0; if(is_empty_linklist(head)) { return -1; } p = head; //沒有遍歷到鏈表尾部 while(p->next != NULL) { if(p->next->data == data) { //保存要刪除結點的地址 q = p->next; p->next = q->next; free(q); q= NULL; flag = 1; }else{ p = p->next; } } if(flag == 0) { return -2; }else{ printf("delete %d is successful!\n",data); return 0; } } void reverse_data_linklist(linknode_t *head) { linknode_t *p = NULL; linknode_t *q = NULL; //1,保存第二個有效結點的地址,再把第一個有效結點的指針域設置為NULL p = head->next->next; head->next->next = NULL; //2.從p結點后,利用頭插法的思想在頭結點后插入數(shù)據(jù) // q保存p后一個結點的地址 while(p != NULL) { q = p->next; p->next = head->next; head->next = p; p = q; } return ; } //刪除鏈表中所有的結點 void clean_up_linklist(linknode_t *head) { linknode_t *p = head; linknode_t *q = NULL; while(p != NULL) { q = p->next; printf_data_linklist(p); free(p); p = q; } return ; } main.c: #include “linklist.h” int main() { linknode_t *head = NULL; datatype_t data; int n = 0,i = 0; int ret = 0; head = create_empty_linklist(); printf("please input you want insert data number : "); scanf("%d",&n); printf("please input %d data : ",n); for(i = 0;i < n;i++) { scanf("%d",&data); //insert_head_linklist(head,data); //insert_tail_linklist(head,data); insert_order_linklist(head,data); } printf_data_linklist(head); #if 0 printf(“please input you want delete data : “); scanf(”%d”,&data); ret = delete_data_linklist(head,data); if(ret < 0) { printf("data is not exist or is empty!\n"); return -1; } printf_data_linklist(head); #endif //reverse_data_linklist(head); //printf_data_linklist(head); printf("==========================\n"); clean_up_linklist(head); return 0; }

得分 100
討論題

不能說的PP 的學生作業(yè):

linklist.h: #ifndef LINKLIST_H #define LINKLIST_H #include #include #include typedef int datatype_t; typedef struct node { datatype_t data; //數(shù)據(jù)域保存有效數(shù)據(jù) struct node *next; //指針域保存下一個結點的地址 }linknode_t; extern linknode_t *create_empty_linklist(); extern void insert_head_linklist(linknode_t *head,datatype_t data); extern void printf_data_linklist(linknode_t *head); extern void insert_tail_linklist(linknode_t *head,datatype_t data); extern void insert_order_linklist(linknode_t *head,datatype_t data); extern int is_empty_linklist(linknode_t *head); extern int delete_data_linklist(linknode_t *head,datatype_t data); #endif linklist.c: #include “linklist.h” //1.創(chuàng)建空的鏈表—為頭結點在堆區(qū)分配空間 linknode_t *create_empty_linklist() { linknode_t *head = NULL; //1.1 分配堆區(qū)空間 head = (linknode_t *)malloc(sizeof(linknode_t)); if(NULL == head) { printf("malloc is fail!\n"); return NULL; } memset(head,0,sizeof(linknode_t)); //head->next = NULL; //head->data = 0; return head; } //2.頭插法:每次都在頭結點后插入數(shù)據(jù) //特點:插入的順序和輸出的順序是相反的 void insert_head_linklist(linknode_t *head,datatype_t data) {//2.1 為結點在堆區(qū)申請空間 linknode_t *temp = (linknode_t *)malloc(sizeof(linknode_t)); if(NULL == temp) { printf(“malloc is fail!\n”); return ; } //2.2 插入數(shù)據(jù) temp->data = data; //2.3 連接結點 temp->next = head->next; head->next = temp; return ; } //尾插法:每次都在尾結點后插入數(shù)據(jù) void insert_tail_linklist(linknode_t *head,datatype_t data) {//2.1 尾結點在堆區(qū)申請空間 linknode_t *temp = (linknode_t *)malloc(sizeof(linknode_t)); if(NULL == temp) { printf(“malloc is fail!\n”); return ; } //2.2 插入數(shù)據(jù) temp->data = data; //2.3 找到結尾點 linknode_t *p = head; while(p->next != NULL) { p = p->next; } //2.4 連接結點 temp->next = p->next; p->next = temp; return ; } //有序插入法:每次都在尾結點后插入數(shù)據(jù) void insert_order_linklist(linknode_t *head,datatype_t data) {//2.1 尾結點在堆區(qū)申請空間 linknode_t *temp = (linknode_t *)malloc(sizeof(linknode_t)); if(NULL == temp) { printf(“malloc is fail!\n”); return ; } //2.2 插入數(shù)據(jù) temp->data = data; linknode_t *p = head; //2.3 p指針向后遍歷 while(p->next != NULL && data < p->next->data) { p = p->next; } //在p結點后插入temp結點 temp->next = p->next; p->next = temp; return ; } //3.輸出鏈表中的內(nèi)容 void printf_data_linklist(linknode_t *head) { linknode_t *p = head; while(p->next != NULL) { printf("%d ",p->next->data); p = p->next; } printf("\n"); return; } int is_empty_linklist(linknode_t *head) { return head->next == NULL ? 1 : 0; } int delete_data_linklist(linknode_t *head,datatype_t data) { linknode_t *p = NULL; linknode_t *q = NULL; int flag = 0; if(is_empty_linklist(head)) { return -1; } p = head; //沒有遍歷到鏈表尾部 while(p->next != NULL) { if(p->next->data == data) { //保存要刪除結點的地址 q = p->next; p->next = q->next; free(q); q= NULL; flag = 1; }else{ p = p->next; } } if(flag == 0) { return -2; }else{ printf("delete %d is successful!\n",data); return 0; } } main.c: #include “linklist.h” int main() { linknode_t *head = NULL; datatype_t data; int n = 0,i = 0; int ret = 0; head = create_empty_linklist(); printf("please input you want insert data number : "); scanf("%d",&n); printf("please input %d data : ",n); for(i = 0;i < n;i++) { scanf("%d",&data); //insert_head_linklist(head,data); //insert_tail_linklist(head,data); insert_order_linklist(head,data); } printf_data_linklist(head); printf("please input you want delete data : "); scanf("%d",&data); ret = delete_data_linklist(head,data); if(ret < 0) { printf("data is not exist or is empty!\n"); return -1; } printf_data_linklist(head); return 0; }

得分 100
討論題

不能說的PP 的學生作業(yè):

linklist.h: #ifndef LINKLIST_H #define LINKLIST_H #include #include #include typedef int datatype_t; typedef struct node { datatype_t data; //數(shù)據(jù)域保存有效數(shù)據(jù) struct node *next; //指針域保存下一個結點的地址 }linknode_t; extern linknode_t *create_empty_linklist(); extern void printf_data_linklist(linknode_t *head); extern void insert_order_linklist(linknode_t *head,datatype_t data); #endif linklist.c: #include “linklist.h” //1.創(chuàng)建空的鏈表—為頭結點在堆區(qū)分配空間 linknode_t *create_empty_linklist() { linknode_t *head = NULL; //1.1 分配堆區(qū)空間 head = (linknode_t *)malloc(sizeof(linknode_t)); if(NULL == head) { printf("malloc is fail!\n"); return NULL; } memset(head,0,sizeof(linknode_t)); //head->next = NULL; //head->data = 0; return head; } //有序插入:每次都在尾結點后插入數(shù)據(jù) void insert_order_linklist(linknode_t *head,datatype_t data) {//2.1 為結點在堆區(qū)申請空間 linknode_t *temp = (linknode_t *)malloc(sizeof(linknode_t)); if(NULL == temp) { printf(“malloc is fail!\n”); return ; } //2.2 插入數(shù)據(jù) temp->data = data; linknode_t *p = head; //2.3 p指針向后便利 while(p->next != NULL && data < p->next->data) { p = p->next; } //在p結點后插入temp結點 temp->next = p->next; p->next = temp; return ; } //3.輸出鏈表種的內(nèi)容 void printf_data_linklist(linknode_t *head) { linknode_t *p = head; while(p->next != NULL) { printf("%d ",p->next->data); p = p->next; } printf("\n"); return; } main.c: #include “linklist.h” int main() { linknode_t *head = NULL; datatype_t data; int n = 0,i = 0; head = create_empty_linklist(); printf("please input you want insert data number : "); scanf("%d",&n); printf("please input %d data : ",n); for(i = 0;i

微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網(wǎng)微信公眾號