#ifndef List
#include <iostream>
using namespace std;
struct listNode;
typedef int ElementType;
typedef struct listNode *PtrToNode;
typedef PtrToNode List;
typedef PtrToNode Position;
#endif
//定义链表结构体
struct listNode{
ElementType data;
Position next;
};
//判断链表是否为空
int isEmpty(List head){
return head->next==NULL;
}
//带有头结点的尾部插入法创建链表
List creatList(int num){
ElementType elem;//链表中存储的元素
List head;
Position p,s;
head=(List)malloc(sizeof(listNode)); //创建头结点
p=head;
p->next=NULL;
// cout<<"请输入第1个元素:"<<" ";
// cin>>elem;
cout<<endl;
for(int i=0,j=1;i<num;i++,j++){
cout<<"请输入第"<<j<<"个元素:"<<" ";
cin>>elem;
s=(List)malloc(sizeof(listNode));//创建链表节点
s->data=elem;
p->next=s;
p=s;
p->next=NULL;
cout<<endl;
}
return head;
}
//输出链表
void disPlay(List head){
if(isEmpty(head)){
cout<<"链表不存在";
}else{
List p;
p=head->next;
while(p){
cout<<p->data<<" ";
p=p->next;
}
}
}
int main(){
List list;
int num=1;
cout<<"请输入要存储的元素个数:"<<" ";
cin>>num;
list=creatList(num);//建立链表
disPlay(list);//打印链表
return 0;
}
链表的建立
最新推荐文章于 2022-04-12 15:49:07 发布