链表的创建与查询-爱代码爱编程
什么是链表?链表是由一组不必相连【不必相连:可以连续也可以不连续】的内存结构 【节点】,按特定的顺序链接在一起的抽象数据类型
typedef struct Node{ //头结点
int data;
struct Node *next;
}Node,LinkList;
链表的创建
void create(LinkList head);
void find(LinkList head);
int main(){
LinkList head=(Node *)malloc(sizeof(Node));
head->next=NULL; //头指针为空
create(head);
find(head);
}
create(LinkList head){
if(!head){
printf("头结点申请失败");
return 0;
}
Node *q=head;
for(int i=0;i<5;i++){
Node *p=(Node *)malloc(sizeof(Node));
p->data=i+1;
p->next=NULL;
p->next=q->next;
q->next=p;
}
}
void find(LinkList head){
if(!head){
printf("头结点空间申请失败!");
return;
}
int value;
printf("请输入待查找数据:");
scanf("%d",&value);
Node *q = head->next;
while(q){
if(value == q->data){
printf("%d存在数组中!",value);
return;
}
q = q->next;
}
printf("%d不存在数组!",value);
}