#include<stdio.h>struct node { int data; struct node* next;};struct node* create_node(int data){ struct nodet *p; p = head; char s = ' '; if (head == NULL) { printf("?????"); } if (head != NULL) { do { printf("%c%c%d", s, s, p->data); p = p->next; } while (p != NULL); printf("\n"); } //You write here ...}void add_to_list(struct node* list, int data){ struct node *head; struct node *p1, *p2; int n = 0; p1 = p2 = (struct node*)malloc(sizeof(struct node)); scanf("%d", &p1->num); head = NULL; while (p1->num != 0) { n = n + 1; if (n == 1) head = p1; else p2->next = p1; p2 = p1; p1 = (struct node*)malloc(sizeof(struct node)); scanf("%d", &p1->num); //You write here ...}int search(struct node* list, int data){ int *p; for (p = node; p< node + data; p++) //?????? if (*p == key) return p - node; return -1; //You write here ...}
1 回答
三十二应遍尘刹
TA贡献22条经验 获得超7个赞
链表啊,给你看个例子吧
//建立一个有三名学生数据的单向动态链表 #include<stdio.h> #include<malloc.h> #define NULL 0 #define LEN sizeof(struct student) struct student { long num; float score; struct student *next; }; int n; struct student *creat(void)/*定义函数。此函数带回一个指向链表头的指针*///参数是void; { struct student *head; struct student *p1,*p2; n=0; p1=p2=(struct student *)malloc(LEN);/*开辟一个新单元*/ scanf("%ld,%f",&p1->num,&p1->score);//wenti head=NULL; while(p1->num!=0) { n=n+1; if(n==1) head=p1; else p2->next=p1; p2=p1; p1=( struct student * )malloc(LEN); scanf("%ld,%f",&p1->num,&p1->score); } p2->next=NULL; return(head); }
差不多东西吧
- 1 回答
- 0 关注
- 1317 浏览
添加回答
举报
0/150
提交
取消