前言:
此刻大家对“动态建立一个链表并遍历”可能比较讲究,同学们都想要知道一些“动态建立一个链表并遍历”的相关内容。那么小编在网摘上网罗了一些对于“动态建立一个链表并遍历””的相关资讯,希望同学们能喜欢,你们快快来了解一下吧!C++单链表的动态创建,查找,遍历,删除,插入,添加,排序 收藏
view plaincopy to clipboardprint?
//单链表的动态创建,查找,遍历,删除,插入,添加,排序
#include<iostream.h>
typedef struct node //定义一个结构体,在c++中也是一个类
{
int val;
struct node* pNext;
}NODE,*PNODE;
//NODE == struct node 定义一个新的接点
//PNODE == struct node* 定义一个指向这个接点的指针
class MyList //创建一个类
{
private:
PNODE pHead;//struct node* pHead
public:
MyList() //构造函数,构造一个空链表头指针
{
this->pHead = NULL;
}
~MyList() //析构函数
{
while(this->pHead!=NULL)
{
PNODE pTemp = pHead->pNext;
delete pHead;
pHead = pTemp;
}
}
void Init() //初始化链表
{
int a;
char ans;
PNODE pTail,pNew;
do
{
cout<<"请输入一个节点值:";
cin>>a;
if(pHead == NULL)//判断链表中是否有元素(是否是空链表)
{
pHead = new NODE;
pHead->val = a;
pHead->pNext = NULL;
pTail = pHead;
}
else
{
pTail = pHead;
while(pTail->pNext!=NULL)//把pTail移动到尾部
{
pTail = pTail->pNext;
}
pNew = new NODE;//new一个新的接点来接受新输入的值
pNew->val = a;
pNew->pNext = NULL;
pTail->pNext = pNew;
pTail = pTail->pNext;
}
cout<<"继续吗?(Y/N): ";
cin>>ans;
}while(ans=='Y'||ans=='y');
}
void Add(int val) //向链表中追加值方法
{
if(pHead == NULL)
{
pHead = new NODE;
pHead->val = val;
pHead->pNext = NULL;
}
else
所有素材来源于网络,如有侵权请联系删除
标签: #动态建立一个链表并遍历 #c语言对链表进行排序