实验二 单链表的操作(数据结构实验c++编写) 您所在的位置:网站首页 指针的基本操作 实验二 单链表的操作(数据结构实验c++编写)

实验二 单链表的操作(数据结构实验c++编写)

2023-10-16 18:05| 来源: 网络整理| 查看: 265

文章目录 1.实验目的2.实验内容3.实验步骤4.实验代码5.实验总结

1.实验目的

(1)掌握线性表的链式存储结构; (2)掌握单链表及其基本操作的实现。

2.实验内容

(1)编程实现单链表的以下基本操作:建立单链表,查找单链表,插入单链表,删除单链表。 (2)采用单链表结构编程实现:两个有序单链表的归并运算。

3.实验步骤 编写程序框架,利用while循环输入操作代码,利用switch选择语句对输入的代码进行判断,并进行相应操作。编写各个操作的具体函数: 1>建立单链表:初始化单链表并输入元素; 2>查找元素:顺链域向后扫描,直到p为空或p指向第i个元素; 3>定位元素:顺链域向后扫描,直到p为空或p所指结点数据域等于e; 4>插入单链表:新结点的指针域指向插入位置,将插入位置前驱的指针域指向新结点; 5>删除单链表:改变删除结点前驱的指针域,释放被删除结点; 6>显示单链表:while循环输出元素,直到p为空; 7>两个有序单链表归并:创建两个有序单链表LA,LB,一次比较两个表中的元素,将较小的值插入到LC中。执行代码,测试数据。 4.实验代码 #include using namespace std; typedef int ElemType; typedef struct LNode { ElemType data; //结点的数据域 struct LNode *next; //结点的指针域 }LNode,*LinkList; //创建单链表(尾插法) void CreateList(LinkList &L); //显示单链表 void ListDisplay(LinkList &L); //查找元素 void GetElem(LinkList &L,int i,ElemType e); //定位元素 LNode *LocateElem(LinkList &L,ElemType e); //插入单链表 void ListInsert(LinkList &L,int i,ElemType e); //删除单链表 void ListDelete(LinkList &L,int i); //两个有序单链表归并 void MergeList(LinkList &LA,LinkList &LB,LinkList &LC); int main() { LinkList L,LA,LB,LC; ElemType e; int n; int index = 1; while(index > 0) { cout int n; cout n; L = new LNode; L->next = NULL; LinkList r = L; for(int i=0;i LinkList p = L->next; while(p) { cout p = p->next; ++j; } if(!p || j>i) { cout LinkList p = L; int j = 0; while(p && j cout next = s; cout p = p->next; ++j; } if(!p->next || j>i-1) { cout if(pa->data data) { pc->next = pa; pc = pa; pa = pa->next; } else { pc->next = pb; pc = pb; pb = pb->next; } } pc->next = pa?pa:pb; delete LB; cout


【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有