解题思路:
注意事项:
参考代码:
#include<stdio.h> #include<stdlib.h> #include<string.h> //定义结点类型 typedef struct Node{ int data; struct Node *next; }Node,*Link; void List_creat(Link head,int n); //头插法创建 int List_insrt(Link head,int i,int n); //插入数据 int List_delete(Link head,int i); //按位删除数据 int List_show(Link head); //遍历链表 int List_get(Link head,int i); //按位获取数据 int main() { int n,a,b; char str[7]; Link head; head = (Link)malloc(sizeof(Node)); head->next=NULL; scanf("%d",&n); List_creat(head,n); scanf("%d",&n); for(int i=0;i<n;i++) { scanf("%s",&str); if(!strcmp(str,"show")) { if(List_show(head)) printf("\n"); else printf("Link list is empty\n"); continue; } if(!strcmp(str,"delete")) { scanf("%d",&a); if(List_delete(head,a)) printf("delete OK\n"); else printf("delete fail\n"); continue; } if(!strcmp(str,"insert")) { scanf("%d %d",&a,&b); if(List_insrt(head,a,b)) printf("insert OK\n"); else printf("insert fail\n"); continue; } if(!strcmp(str,"get")) { scanf("%d",&a); if(b = List_get(head,a)) printf("%d\n",b); else printf("get fail\n"); continue; } } return 0; } //头插法创建 void List_creat(Link head,int n) { Link r,p; r = head; for(int i=0;i<n;i++) { p = (Node*)malloc(sizeof(Node)); scanf("%d",&p->data); p->next = r->next; r->next = p; } } //遍历链表 int List_show(Link head) { Link p; int n=0; p = head->next; while(p) { n++; printf("%d ",p->data); p = p->next; } if(n==0) return 0; else return 1; } //插入数据 int List_insrt(Link head,int i,int n) { Link p,t; int j=0; p = head; while(p&&j<i-1) { p = p->next; j++; } if(!p||j>i-1) return 0; t = (Link)malloc(sizeof(Node)); t->data = n; t->next = p->next; p->next = t; return 1; } //删除数据 int List_delete(Link head,int i) { Link p,q; p = head; int j=0; while(p->next&&j<i-1) { p=p->next; j++; } if(!(p->next)||j>i-1) return 0; q = p->next; p->next = q->next; free(q); return 1; } //按位获取数据 int List_get(Link head,int i) { Link p; p = head->next; int j=1; while(p&&j<i){ p =p->next; j++; } if(!p||j>i) return 0; return p->data; }
0.0分
1 人评分
求组合数 (C语言代码)浏览:1153 |
【排队买票】 (C语言代码)浏览:899 |
C语言程序设计教程(第三版)课后习题8.2 (C语言代码)浏览:5229 |
Wu-求圆的面积 (C++代码)浏览:1887 |
1908题解浏览:636 |
1642题解浏览:712 |
关于float,double变量的几点说明浏览:1810 |
整数平均值 (C语言代码)浏览:780 |
C语言程序设计教程(第三版)课后习题12.1 (C语言代码)浏览:642 |
快速排序算法1浏览:884 |