c++线性表
来源:百度知道 编辑:UC知道 时间:2024/07/09 01:28:20
编辑一个高效算法,删除所有大于mink小于maxk的元素(若存在),同时释放被删除结点的空间。给出时间复杂度。
注意:程序要完整。
时间复杂度O(n)过程请看函数ListDeleteData()
#include<stdio.h>
#include <stdlib.h>
#include <math.h>
#define ElemType int
#define TRUE 1
#define OK 1
#define FALSE 0
#define ERROR -1
/************************************************************************/
/* 线性表的单链表存储结构*/
/************************************************************************/
typedef struct LNode
{
ElemType data;
struct LNode *next;
}LNode, *LinkList;
/************************************************************************/
/* 操作结果:构造一个空的线性表L */
/************************************************************************/
void InitList(LinkList *L)
{
*L = (LinkList)malloc(sizeof(struct LNode)); /* 产生头结点,并使L指向此头结点 */
if( !*L ) /* 存储分配失败 */
exit(-1);
(*L)->next = NULL; /* 指针域为空 */
}
/******************************