C/C++链表实现
来源:互联网 发布:淘宝买药不是直接付款 编辑:程序博客网 时间:2024/05/16 11:08
链表是线性表中典型的一个数据结构,本文讲介绍如何实现。本文代码在VC6.0上运行验证过。
首先建立一个链表结构:
typedef struct LNode
{
int data;
struct LNode *next;
}LNode,*LinkList;
一个链表结点包含两个数据项,一个是该结点存储的数值数据,一个是该结点指向下一个结点的地址数据,也就是一个指向下一个结点的指针。接下来,为了大家能够清晰的明白链表的实现过程,将源码粘贴如下(关键部分都有注释):
#include<iostream.h>
#include<malloc.h>
typedef struct LNode
{
int data;
struct LNode *next;
}LNode,*LinkList;
void CreatList_L(LinkList &L,int n)//创建一个包含n个元素的链表L
{
L=(LinkList)malloc(sizeof(LNode));//开辟一个头结点空间
L->next=NULL;
L->data=n;//将首次建立结点的个数存到头结点的数据项中,也可以什么都不存,即没有这条语句
for(int i=n;i>0;--i)
{
LinkList p=(LinkList)malloc(sizeof(LNode));//开辟第一个结点空间
cin>>(p->data);//输入一个数据,
//将新结点插入到头结点之后
p->next=L->next;
L->next=p;
}
}
void OutputList(LinkList &L)//输出链表L所存储的数值数据
{
LinkList temp=(LinkList)malloc(sizeof(LNode));//建立一个临时结点
temp=L;
cout<<temp->data<<endl;//输出头结点的数值数据
while(temp->next!=NULL)
{
temp=temp->next;//将下一个结点放入临时结点
cout<<temp->data<<endl;//输出数值数据
}
}
void InsertLinkList(LinkList &L,int n,int e)//在链表L第n个位置插入元素e
{
int i=0;
LinkList temp=(LinkList)malloc(sizeof(LNode));//开辟临时空间
temp=L;
while(temp->next!=NULL)//寻找第n-1个位置,因为该链表是单向的,所以每个结点都指向下一个结点,所以,要想插入第n个位置需找到第n-1个位置
{
if(i==(n-1))
break;
temp=temp->next;
i++;
}
if(i<n-1)
cout<<"error"<<endl;
else
{
LinkList p=(LinkList)malloc(sizeof(LNode));//开辟新的空间
p->data=e;
p->next=temp->next;//将参数插入
temp->next=p;
}
}
int main()
{
LinkList L;//定义一个头结点
CreatList_L(L,5);//创建见一个头结点为L的5个元素的链表
InsertLinkList(L,3,10);//在链表L的第3个元素的位置插入元素10
OutputList(L);
return 0;
}
如上代码只是一个如何建立链表的例子,还有很多不严谨的地方。该代码的目的是能提供一个链表建立的实例,在学习链表的时候做一个参考。
- C链表实现
- c链表实现
- C/C++/JAVA 双向链表实现
- 【库】c实现链表
- C/C++链表实现
- c语言实现链表
- c的链表实现
- C的链表实现
- C语言实现链表
- 静态链表 C实现
- c链表的实现
- c语言-链表实现
- C语言链表实现。
- C实现链表操作
- 简单链表(C实现)
- 链表堆栈C实现
- C语言实现链表
- C++:单向链表实现
- Android调试工具及方法
- Android 信号处理面面观 之 概述
- ATME16 定时器1实现电子钟表
- Android Tips
- 创建图形化界面
- C/C++链表实现
- JSP如何获取用户的真实IP地址[转载]
- 重要的web程序性能指标
- 一致代码段和非一致代码段
- Android发行版本
- 装系统
- Eclipse Java EE IDE for Web Developers安装使用【转载】
- Java程序员的推荐阅读书籍
- 14. 74. 7. 对话框大全 extends JDialog to create your own dialog