顺序表详解
来源:互联网 发布:app one是什么软件 编辑:程序博客网 时间:2024/06/05 14:53
定长顺序表定义:
#pragma once
#define SIZE 10
#define SIZE 10
typedef struct SeqList
{
int elem[SIZE]; //顺序表表示数组,总大小SIZE
int length; //有效数据的个数
}SeqList,*PSeqList;
{
int elem[SIZE]; //顺序表表示数组,总大小SIZE
int length; //有效数据的个数
}SeqList,*PSeqList;
//初始化 长度置0即可
void InitSeqList(PSeqList ps);
//插入:在pos位置上插入元素val(从pos开始,后面的数据都后移一位,pos位置值置成val,长度加1)
bool InsertSeqList(PSeqList ps,int pos,int val);
bool InsertSeqList(PSeqList ps,int pos,int val);
//查找:遍历ps,在ps上查找key,返回其下标,没找到返回-1(顺序表是用数组实现的,数组内没有为-1的下标)
int SearchSeqList(PSeqList ps,int key);
int SearchSeqList(PSeqList ps,int key);
//删除:遍历ps,删除值为key的结点,长度减一,找到返回true,没找到返回false
bool DeleteVal(PSeqList ps,int key);
//删除:删除ps中下标为pos的结点,长度减一,如果下标不合法,返回false
bool DeletePos(PSeqList ps,int pos);
//返回有效数据个数length
int GetLength(PSeqList ps);
int GetLength(PSeqList ps);
//判空,判断有效数据个数是否为0
bool IsEmpty(PSeqList ps);
bool IsEmpty(PSeqList ps);
//调Destory()
void Clear(PSeqList ps);
//销毁,有效数据个数置0
void Destory(PSeqList ps);
//输出函数,遍历顺序表,一个一个打印
void Show(PSeqList ps);
void Show(PSeqList ps);
//返回下标为pos的值,下标不合法,返回false,用rtval带出要得到的值
bool GetElem(PSeqList ps,int pos,int *rtval);
bool GetElem(PSeqList ps,int pos,int *rtval);
//有序顺序表中插入val,顺序表人有序
//(在ps中找第一个比val大的结点,这就是val要插入的位置,从该点起,后面数据都后移一位,长度加1)
void Insert(PSeqList ps,int val);
//顺序表比较(跟字符串比较相似),先判断有空顺序表的情况,在判断都不为空的情况
int CompareSeqList(PSeqList ps1,PSeqList ps2);
//逆置,(跟字符串逆置相似)
//顺序表表头结点值与顺序表表尾结点值进行交换,然后第二个节点值与倒数第二个结点值交换,依次
void Rev(PSeqList ps);
//删除ps1中ps2ps3都有的元素
//先找到ps2和ps3共有的元素,遍历ps1,若有,删掉
void Dele(PSeqList ps1,PSeqList ps2,PSeqList ps3);
//合并ps1,ps2(将ps2中数据一个一个插入ps1)
void Bing(PSeqList ps1,PSeqList ps2);
****************************************************************************************
不定长顺序表定义:
typedef struct DSeqList
{
int *elem;//指向动态数组的首地址
int length;//有效数据长度
int listsize;//总长度
}DSeqList,*PDSeqList;
{
int *elem;//指向动态数组的首地址
int length;//有效数据长度
int listsize;//总长度
}DSeqList,*PDSeqList;
与定常顺序表的区别在于,当顺序表满了会自动二倍的扩容
阅读全文
0 0
- 顺序表操作详解
- 顺序表插入详解
- 顺序表详解
- C语言学习之顺序表详解
- Linux启动顺序详解
- Windows启动顺序详解
- Javascript执行顺序详解
- JavaScript执行顺序详解
- 顺序栈 详解
- sql执行顺序详解
- js执行顺序详解
- 顺序容器---string详解
- JavaScript执行顺序详解
- 线性表系列(一)-顺序表的详解与实现
- c语言线性表顺序存储结构详解
- 类的加载顺序(详解)
- DLL搜索顺序问题详解
- 【转载】Windows启动顺序详解
- 机器学习算法比较
- 基础练习 矩形面积交
- 腾讯出手!未来5年最大商机,下一个千亿级的市场出现.....
- 格式
- 设计模式(三)——装饰模式
- 顺序表详解
- 指针用作函数的返回值
- 周期串
- 虚拟机中Centos7安装完毕后无法联网显示Server not found的解决方法
- String和StringBuffer的比较
- QT暂未用到的功能
- JAVAWeb第一天html篇
- mongodb 操作符$
- 建表空间、用户,cmd命令导出导入表