电脑桌面
添加小米粒文库到电脑桌面
安装后可以在桌面快捷访问

单链表基本操作(C++版)

单链表基本操作(C++版)_第1页
1/6
单链表基本操作(C++版)_第2页
2/6
单链表基本操作(C++版)_第3页
3/6
#include #include using namespace std; #define OK 1 #define ERROR 0 typedef int Status; typedef int ElemType; //-------------单链表的存储结构-------------------- typedef struct LNode { ElemType data;//结点的数据域 struct LNode *next;//结点的指针域 } LNode,*LinkList; //-------------单链表的初始化----------------------- Status InitList_L(LinkList &L) { //构造一个空的链表L L=new LNode;//生成新结点作为头结点,用头指针L 指向头结点 L->next=NULL;//头结点的指针域置空 return OK; } //-------------按序号查找---------------------------------- Status GetElem_L(LinkList L,int i,ElemType &e) { //在带头结点的单链表L 中查找第 i 个元素 LinkList p; p=L->next;//初始化,p 指向第一个结点 int j=1;//j 为计数器 while(p&&jnext; ++j; } if(!p||j>i)//第 i 个元素不存在 return ERROR; e=p->data;//取第 i 个元素 return OK; } //------------按值查找--------------------------------------- LNode* LocateElem_L(LinkList L,ElemType e) { //在带头结点的单链表L 中查找值为e 的元素 LNode* p; p=L->next; while(p&&p->data!=e)//寻找满足条件的结点 p=p->next; return p;//返回L 中值为e 的元素的位置;查找失败的话返回NULL } //------------插入------------------------------------------- Status ListInsert_L(LinkList &L,int i,ElemType &e) { LinkList p=L; int j=0; while(p&&jnext; ++j; } if(!p||j>i-1) return ERROR; LinkList s; s=new LNode;//生成新结点s s->data=e;//将结点s 的数据域置为e s->next=p->next;//将结点s 插入L 中 p->next=s; cout<<"插入完成"<next; ++j; } if(!(p->next)||j>i-1) return ERROR;//i 大于表长+1 或小于 1 q=p->next;//临时保存被删结点的地址以备释放 p->next=q->next;//改变删除结点前...

1、当您付费下载文档后,您只拥有了使用权限,并不意味着购买了版权,文档只能用于自身使用,不得用于其他商业用途(如 [转卖]进行直接盈利或[编辑后售卖]进行间接盈利)。
2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。
3、如文档内容存在违规,或者侵犯商业秘密、侵犯著作权等,请点击“违规举报”。

碎片内容

单链表基本操作(C++版)

确认删除?
VIP
微信客服
  • 扫码咨询
会员Q群
  • 会员专属群点击这里加入QQ群
客服邮箱
回到顶部