#include "iostream.h"
#include "malloc.h"
#define TRUE 1
#define FALSE 0
#define OK 1
#define ERROR 0
#define INFEASIBLE -1
#define OVERFLOW -2
typedef int Status;
typedef int ElemType;
#define LIST_INIT_SIZE 100
#define LISTINCREMENT 10
typedef struct{
ElemType *elem;
int length;
int listsize;
}SqList;
Status InitList_Sq(SqList &L)
{
// 构造一个空的线性表L。
L.elem = new ElemType[LIST_INIT_SIZE];
if (!L.elem) return OVERFLOW; // 存储分配失败
L.length = 0; // 长度为0
L.listsize = LIST_INIT_SIZE; // 初始存储容量
return OK;
} // InitList_Sq
Status ListInsert_Sq(SqList &L, int i, ElemType e)
{
ElemType *p,*q;
if (i < 1 || i > L.length+1) return ERROR;
if (L.length >= L.listsize)
{ // 当前存储空间已满,增加分配
ElemType *newbase = (ElemType *)realloc(L.elem,(L.listsize+LISTINCREMENT)*sizeof(ElemType));
if (!newbase) return OVERFLOW; // 存储分配失败
L.elem = newbase; // 新基址
L.listsize += LISTINCREMENT; // 增加存储容量
}
q = &(L.elem[i-1]); // q指示插入位置
for (p = &(L.elem[L.length-1]); p >= q; --p) *(p+1) = *p;
// 插入位置及之后的元素右移
*q = e; // 插入e
++L.length; // 表长增1
return OK;
} // ListInsert_Sq
Status ListDelete_Sq(SqList &L, int i, ElemType &e)
{
ElemType *p,*q;
if ((i < 1) || (i > L.length)) return ERROR;
p = &(L.elem[i-1]); // p为被删除元素的位置
e = *p; // 被删除元素的值赋给e
q = L.elem+L.length-1; // 表尾元素的位置
for (++p; p <= q; ++p) *(p-1) = *p; // 被删除元素之后的元素左移
--L.length; // 表长减1
return OK;
} // ListDelete_Sq
void Create_Sq(SqList &L)
{
cout<<"请输入元素个数:";
cin>>L.length;
cout<<"创建顺序表"<<endl;
for(int i=0;i<L.length;i++)
{
cout<<"请输入第"<<i+1<<"个数:";
cin>>L.elem[i];
cout<<endl;
}
}
void Print_Sq(SqList &L)
{
cout<<"输出顺序表:"<<endl;
for(int i=0;i<L.length;i++) cout<<L.elem[i]<<" ";
}
void swap(ElemType &x,ElemType &y)
{
int z;
z=x; x=y; y=z;
}
没有合适的资源?快使用搜索试试~ 我知道了~
数据结构中的库函数--------------------
共7个文件
h:6个
ini:1个
4星 · 超过85%的资源 需积分: 10 16 下载量 192 浏览量
2008-12-11
18:17:31
上传
评论
收藏 5KB RAR 举报
温馨提示
数据结构中的库函数--------------------
资源推荐
资源详情
资源评论
收起资源包目录
.rar (7个子文件)
数据结构中库函数
Queue.h 2KB
Desktop_.ini 8B
Tree.h 2KB
String.h 1KB
SqList.h 2KB
LinkList.h 714B
Stack.h 1KB
共 7 条
- 1
资源评论
- shiyucun2012-07-06挺好的 好像没有图论的
benxiong_tb
- 粉丝: 29
- 资源: 36
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功