单链表的创建,遍历输出及释放
2013-12-10 13:17
225 查看
#include <iostream>
using namespace std;
typedef class List
{
public:
int num;
char name[10];
class List* next;
}Node,*Link;
//创建链表
Link Create_List(Link pHead)
{
int n;
cout<<"请输入学生人数:";
cin>>n;
//创建头结点
pHead=new Node;
if(!pHead)
{
cout<<"Memory allocate failed\n";
exit(-1);
}
cout<<"\n请输入编号:";
cin>>pHead->num;
cout<<"请输入姓名:";
cin>>pHead->name;
pHead->next=NULL;
//创建剩余结点
Link Pointer=pHead;
for(int i=1;i<n;i++)
{
Link newNode=new Node;
if(!newNode)
{
cout<<"Memory allocate failed\n";
exit(-1);
}
cout<<"请输入编号:";
cin>>newNode->num;
cout<<"请输入姓名:";
cin>>newNode->name;
newNode->next=NULL;
Pointer->next=newNode;
Pointer=newNode;
}
return pHead;
}
//遍历输出链表
void Print_List(Link pHead)
{
cout<<"\n 编号\t姓名\n============="<<endl;
Link Pointer=pHead;
while(NULL!=Pointer)
{
cout<<" "<<Pointer->num<<"\t"<<Pointer->name<<endl;
Pointer=Pointer->next;
}
cout<<endl;
}
//释放链表
void Free_List(Link pHead)
{
while(NULL!=pHead)
{
Link Pointer=pHead;
pHead=pHead->next;
delete Pointer;
}
}
int main()
{
Link pHead=new Node;
if(!pHead)
{
cout<<"Memory allocate failed\n";
exit(-1);
}
//创建链表
pHead=Create_List(pHead);
//遍历输出链表
Print_List(pHead);
//释放链表
Free_List(pHead);
return 0;
}
相关文章推荐
- 创建单链表并赋值,要求遍历能输出1~9
- 创建单链表并赋值,要求遍历能输出1~9
- 创建单链表并赋值,要求遍历能输出1~9
- C++单链表的动态创建,查找,遍历,删除,插入,添加,排序
- python 学习记录(11)-文件处理/读取文件/文件写入内容/文件删除/文件复制/文件重命名/后缀名/内容查找与替换/文件比较/ 配置文件访问/目录创建与删除/遍历目录/定向输出
- 用C++实现单链表的创建、逆置和输出 的两种方法
- 已知二叉树先序遍历,中序遍历创建二叉树并输出后序遍历
- 二叉树的创建,插入,删除,输出,求高度,求度以及三种遍历方式实现
- c语言实现对传统单链表的创建、添加 遍历 删除 反转元素操作
- 单链表的创建(头插尾插),表长,输出,插入,删除,查找,逆置,分解长两个链表(奇数偶数链表),查找倒数第k个元素,产出相同元素
- 二叉树的创建,遍历和释放
- C++之二叉树的创建、查找、四种次序的周游遍历方法以及内存的释放
- 单链表的创建和遍历
- 单链表的创建和遍历
- 单链表的创建、初始化、插入、删除 、输出、求表长、清空、查找操作
- 两种方法实现单向链表的创建、遍历、删除、查找、逆序输出(循环法和递归法)
- 单链表的创建和遍历、求单链表中节点的个数、查找单链表中的中间结点、判断单链表是否有环、取出有环链表中环的长度,删除有序链表中的重复结点
- 【C语言】-单链表的创建和输出
- C语言创建单链表,输出单链表的内容。
- "黑马程序员"基础测试:创建ArrayList对象,添加五个元素,使用Iterator遍历输出