#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 关注
- 1387 浏览
添加回答
举报
0/150
提交
取消
