继续。
二.链表
先考虑带头节点的单向链表。
两个类,节点类和链表类。如下:
class ChainNode
{
friend Chain;
private:
int data;
ChainNode* next;
}
class Chain
{
public:
Chain(){first=0;}
~Chain();
//其他一些,blablabla
private:
ChainNode* first;
}
析构函数:
Chain::~Chain()
{
while(first)
{
ChainNode* temp = first->next;
delete first;
first=temp;
}
}
查找指定元素:
int Chain:: Search(int x)
{
ChainNode* temp = first;
int i=1;
while(temp)
{
if(temp->data==x)
return i;
i++;
temp=temp->next;
}
return -1;
}
删除指定元素:
bool Chain::Delete(int x)
{
int index = Search(x);
if(index>0)
{
if(index==1)
first=first->next;
else
{
ChainNode* temp = first;
for(int i=1;i<index-1;i++)
temp=temp->next;
ChainNode* q = temp->next;
temp->next=q->next;
delete q;
}
return true;
}
else
return false;
}
在指定位置后插入元素:
bool Chain::Insert(int index,ChainNode cn)
{
//非法不判断啦,烦死啦,越界什么的
temp=first;
for(int i=1;i<index;i++)
temp=temp->next;
cn->next=temp->next;
temp->next=cn;
return true;
}
在链表尾部插入节点:
//链表元素少于两个的情况不判断了。。
ChainNode* temp = first;
ChainNode* temp2 = first->next;
while(temp2)
{
temp=temp->next;
temp2=temp2->next;
}
temp->next=cn;
就地逆置:
http://lee3do.iteye.com/blog/777239
双向链表不写了,太繁琐了。
分享到:
相关推荐
数据结构:链表.ppt
Java数据结构 线性表,链表,哈希表是常用的数据结构,在进行Java开发时,JDK已经为我们提供了一系列相应的类来实现基本的数据结构
数据结构:图解链表,链表的插入和删除(c语言版) 我们上节讲解了链表的建立,本节讲解的是在链表中指定位置中插入一个结点,以及在指定位置中删除一个结点 指定位置插入一个结点 这里我们在第3个结点后插入一个...
本人数据结构课设题目:《链表的合并与直接插入排序》
这里面包含链表的几乎所有操作:链表的创建、插入、删除、排序等;
不错的毕业设计、课程设计、练手c++语言项目:链表HuffmanTree.rar 不错的毕业设计、课程设计、练手c++语言项目:链表HuffmanTree.rar 不错的毕业设计、课程设计、练手c++语言项目:链表HuffmanTree.rar 不错的毕业...
数据结构实验——链表 数据结构实验——链表
是链表应用的数据结构课程设计,对所学的知识有一个综合应用。
数据结构:二叉树链表并遍历输出
数据结构:双向链表的基本程序
数据结构:双向链表源码,为了让读者有更好的体验,把源码上传上去,有任何问题,或者有任何bug可以直接私信我,我会及时回复,并且解决对应问题
数据结构 作业 链表的操作 完美链表 包括链表的 构造 数值的插入 删除 几种排序。。。。
Java 数据结构 链表 Java链表 数据结构链表
该文件夹是用vs2017实现的整个项目文件,作为数据结构的第一次上机实习,用的也只是一些数据结构中较为基础的知识,仅仅用到最简单的链表就能实现大数的相加,该代码仅供参考,代码还是自己动手实现才有意义。
数据结构:图解链表,用链表实现栈的Pop和Push(c语言版) 出栈以及入栈我们只要可虑栈顶就可以,所以我们就只考虑对栈顶就行插入和删除就可以,上代码 void Pop(SqStack* s,Elemtype data) { assert(s); if (s->...
数据结构:图解链表,用链表实现栈(c语言版) 栈(stack)是限定仅在表尾进行插入或者删除的线性表。对于栈来说,表尾端称为栈顶(top),表头端称为栈低(bottom)。不含元素的空表称为空栈。因为栈限定在表尾进行...
数据结构——循环链表的操作1 数据结构——循环链表的操作1 数据结构——循环链表的操作1 数据结构——循环链表的操作1
数据结构教学课件:线性表链表.ppt
重点阐述数据结构: 结构体与链表,深入详解数据结构。
数据结构之链表,C#链表 数据结构之链表,C#链表 数据结构之链表,C#链表 数据结构之链表,C#链表 数据结构之链表,C#链表 数据结构之链表,C#链表