设计算法,删除递增有序链表中值大于min,且小于max的所有元素
min和max是给定的两个参数,其值可以和表中元素相同或者不同
#include <iostream>
#define overflow -2
#define ok 1
#define error 0
using namespace std;
typedef int status;
typedef int ElemType;
//定义
typedef struct LNode
{
ElemType data; //数据域
struct LNode *next; //指针域
}LNode , *LinkList;
//初始化
status InitList(LinkList &LA)
{
LA = new LNode; //生成一个新结点
LA->next = NULL; //结点指针域置空
return ok;
}
//创建一个长度为n的单链表
status CreatList_R(LinkList &LA, int n)
{
LNode *r = LA; //尾指针初始化指向头结点
for (int i = 0; i < n; i++)
{
LNode *p = new LNode; //生成新结点
cin >> p->data; //输入的数据存放在新结点的数据域
r->next = p;
p->next = NULL;
r = p;
}
return ok;
}
//输出
int DispList(LinkList L)
{
LNode *p = L->next;
while (p)
{
数据结构第二章课后习题第八题(删除有序递增链表中指定区间的结点)
最新推荐文章于 2024-07-31 22:01:32 发布