为了账号安全,请及时绑定邮箱和手机立即绑定

作业社区

探索学习新天地,共享知识资源!

0 提交作业
0 布置作业
0 满分作业
得分 100
学习任务

慕先生4541263 的学生作业:

#include typedef int datatype_t; typedef struct linknode { datatype_t data; struct linknode *next; }linknode_t; linknode_t *create_linknode() { linknode_t *head = (linknode_t *) malloc(sizeof(linknode_t)); if (NULL == head) { printf("malloc runs fail\n"); return NULL; } memset(head, 0, sizeof(linknode_t)); return head; } void insert_linknode_order(linknode_t *head, datatype_t temp_data) { linknode_t *temp = (linknode_t *) malloc(sizeof(linknode_t)); temp->data = temp_data; linknode_t *p = head; while(p->next != NULL && p->next->data > temp_data) { p = p->next; } temp->next = p->next; p->next = temp; } void printf_linknode(linknode_t *head) { linknode_t *p = head; while(p->next != NULL) { printf("%d ",p->next->data); p = p->next; } printf("\n"); } int is_empty_linknode(linknode_t *head) { return head->next == NULL ? 1 : 0; } int delete_linknode(linknode_t *head, datatype_t tempData) { if (is_empty_linknode(head)) { printf("linkenode is empty\n"); return -1; } linknode_t *p = head; linknode_t *q = NULL; int flag = 0; while (p->next != NULL) { if (p->next->data == tempData) { q = p->next; p->next = q->next; free(q); q = NULL; flag = 1; } else { p = p->next; } } if (flag == 0) { printf("the data doesn't exist\n"); flag = -2; } else { printf("the data deleted successfully\n"); } return flag; } void reverse_linknode(linknode_t *head) { linknode_t *p = head->next->next; head->next->next = NULL; while (p != NULL) { linknode_t *q = p->next; p->next = head->next; head->next = p; p = q; } } void clean_up_linknode(linknode_t *head) { linknode_t *p = head; linknode_t *q = NULL; while (p != NULL) { printf_linknode(p); q = p->next; free(p); p = q; } } int main() { linknode_t *head = create_linknode(); datatype_t data; int n; printf("please enter the number of data you want to add: "); scanf("%d",&n); printf("please enter the data: "); for (int i = 0; i < n; i++) { scanf("%d", &data); insert_linknode_order(head, data); } printf_linknode(head); // datatype_t delete_data; // printf("please enter the data you want to delete: "); // scanf("%d", &delete_data); // delete_linknode(head, delete_data); // printf_linknode(head); reverse_linknode(head); printf("the reserve linknode is: /n"); printf_linknode(head); clean_up_linknode(head); free(head); head = NULL; return 0; }

得分 100
讨论题

慕先生4541263 的学生作业:

#include typedef int datatype_t; typedef struct linknode { datatype_t data; struct linknode *next; }linknode_t; linknode_t *create_linknode() { linknode_t *head = (linknode_t *) malloc(sizeof(linknode_t)); if (NULL == head) { printf("malloc runs fail\n"); return NULL; } memset(head, 0, sizeof(linknode_t)); return head; } void insert_linknode_order(linknode_t *head, datatype_t temp_data) { linknode_t *temp = (linknode_t *) malloc(sizeof(linknode_t)); temp->data = temp_data; linknode_t *p = head; while(p->next != NULL && p->next->data > temp_data) { p = p->next; } temp->next = p->next; p->next = temp; } void printf_linknode(linknode_t *head) { linknode_t *p = head; while(p->next != NULL) { printf("%d ",p->next->data); p = p->next; } printf("\n"); } int is_empty_linknode(linknode_t *head) { return head->next == NULL ? 1 : 0; } int delete_linknode(linknode_t *head, datatype_t tempData) { if (is_empty_linknode(head)) { printf("linkenode is empty\n"); return -1; } linknode_t *p = head; linknode_t *q = NULL; int flag = 0; while (p->next != NULL) { if (p->next->data == tempData) { q = p->next; p->next = q->next; free(q); q = NULL; flag = 1; } else { p = p->next; } } if (flag == 0) { printf("the data doesn't exist\n"); flag = -2; } else { printf("the data deleted successfully\n"); } return flag; } int main() { linknode_t *head = create_linknode(); datatype_t data; int n; printf("please enter the number of data you want to add: "); scanf("%d",&n); printf("please enter the data: "); for (int i = 0; i < n; i++) { scanf("%d", &data); insert_linknode_order(head, data); } printf_linknode(head); datatype_t delete_data; printf("please enter the data you want to delete: "); scanf("%d", &delete_data); delete_linknode(head, delete_data); printf_linknode(head); free(head); head = NULL; return 0; }

微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号