数据结构中如何建立单链表?
1个回答
展开全部
#include "stdio.h"
#include <stdlib.h>
typedef struct node { int data; struct node *next; } listnode;
listnode* INITLIST() { listnode *hd=(listnode *)malloc(sizeof(listnode));
hd->next=NULL;
return hd; }
void CREALIST(listnode *hd)
{ int dt;
scanf("%d",&dt);
while(dt!=-1) {
listnode *p=(listnode *)malloc(sizeof(listnode));
p->data=dt;
p->next=hd->next;
hd->next=p;
scanf("%d",&dt);
}
}
void PRINTLIST(listnode *hd) { l
istnode *p=hd->next;
while(p!=NULL) {
printf("%d ",p->data);
p=p->next; } }
void FREELIST(listnode *hd) {
while(hd->next!=NULL)
{
listnode *p=hd->next;
hd->next=p->next;
free(p); } }
void main() { listnode *head=NULL; head=INITLIST(); CREALIST(head); PRINTLIST(head); FREELIST(head); free(head); }
这个程序基本的链表操作都有了 望楼主采纳
#include <stdlib.h>
typedef struct node { int data; struct node *next; } listnode;
listnode* INITLIST() { listnode *hd=(listnode *)malloc(sizeof(listnode));
hd->next=NULL;
return hd; }
void CREALIST(listnode *hd)
{ int dt;
scanf("%d",&dt);
while(dt!=-1) {
listnode *p=(listnode *)malloc(sizeof(listnode));
p->data=dt;
p->next=hd->next;
hd->next=p;
scanf("%d",&dt);
}
}
void PRINTLIST(listnode *hd) { l
istnode *p=hd->next;
while(p!=NULL) {
printf("%d ",p->data);
p=p->next; } }
void FREELIST(listnode *hd) {
while(hd->next!=NULL)
{
listnode *p=hd->next;
hd->next=p->next;
free(p); } }
void main() { listnode *head=NULL; head=INITLIST(); CREALIST(head); PRINTLIST(head); FREELIST(head); free(head); }
这个程序基本的链表操作都有了 望楼主采纳
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询
广告 您可能关注的内容 |