龙空技术网

C++单链表的动态创建,查找,遍历,删除,插入,添加,排序 收藏

虚幻引擎小编 164

前言:

此刻大家对“动态建立一个链表并遍历”可能比较讲究,同学们都想要知道一些“动态建立一个链表并遍历”的相关内容。那么小编在网摘上网罗了一些对于“动态建立一个链表并遍历””的相关资讯,希望同学们能喜欢,你们快快来了解一下吧!

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语言对链表进行排序