- 2
- 0
- 约6千字
- 约 7页
- 2017-01-12 发布于江苏
- 举报
线性表的所有操作
16种
#include stdio.h#include stdlib.htypedef int elemType;/************************************************************************//*??????????????? 以下是关于线性表顺序存储操作的16种算法??????????????????????? *//************************************************************************/struct List{??? elemType *list;??? int size;??? int maxSize;};
void againMalloc(struct List *L){??? /* 空间扩展为原来的2倍,并由p指针所指向,原内容被自动拷贝到p所指向的存储空间 */??? elemType *p = realloc(L-list, 2 * L-maxSize * sizeof(elemType));??? if(!p){??? /* 分配失败则退出运行 */??????? printf(存储空间分配失败! );??????? exit(1);??? }??? L-list = p;??? /* 使list指向新线性表空间 */??? L-maxSize = 2 * L-maxSize;??? /* 把线性表空间大小修改为新的长度 */}
/* 1.初始化线性表L,即进行动态存储空间分配并置L为一个空表 */void initList(struct List *L, int ms){??? /* 检查ms是否有效,若无效的则退出运行 */??? if(ms = 0){??????? printf(MaxSize非法! );??????? exit(1);??? /* 执行此函数中止程序运行,此函数在stdlib.h中有定义 */??? }??? L-maxSize = ms;??? /* 设置线性表空间大小为ms */??? L-size = 0;??? L-list = malloc(ms * sizeof(elemType));??? if(!L-list){??????? printf(空间分配失败! );??????? exit(1);??? }??? return;}
/* 2.清除线性表L中的所有元素,释放存储空间,使之成为一个空表 */void clearList(struct List *L){??? if(L-list != NULL){??????? free(L-list);??????? L-list = 0;??????? L-size = L-maxSize = 0;??? }??? return;}
/* 3.返回线性表L当前的长度,若L为空则返回0 */int sizeList(struct List *L){??? return L-size;}
/* 4.判断线性表L是否为空,若为空则返回1, 否则返回0 */int emptyList(struct List *L){??? if(L-size ==0){??????? return 1;??? }??? else{??????? return 0;??? }}
/* 5.返回线性表L中第pos个元素的值,若pos超出范围,则停止程序运行 */elemType getElem(struct List *L, int pos){??? if(pos 1 || pos L-size){??? /* 若pos越界则退出运行 */??????? printf(元素序号越界! );??????? exit(1);??? }??? return L-list[pos - 1];??? /* 返回线性表中序号为pos值的元素值 */}
/* 6.顺序扫描(即遍历)输出线性表L中的每个元素 */void traverseList(struct List *L){??? int i;??? for(i = 0; i L-size; i++){??????? printf(%d , L -list[i]);??? }??? printf( );??? return;}
/* 7.从线性表L中查找值与x相等的元素,若查找成功则返回其位置,否则返回-1 */int findList(struct List *L, elemType x){??? int i
您可能关注的文档
- 线性电机.docx
- 线性表(顺序存储)及其应用.doc
- 线性表基本操作-示例程序02.doc
- 线性表的c++.doc
- 线性表的疑问.docx
- 线性表的顺序存储.doc
- 线性表的顺序结构及其应用.doc
- 线性表编程练习题.doc
- 线性表自测题.doc
- 线性规划(理文).docx
- 2026年中国窗饰产品市场全景调查与市场供需预测报告.docx
- 2026年中国船舶水下清洗行业深度研究报告:市场需求预测、进入壁垒及投资风险.docx
- 2026年中国船用绞车行业运行态势及十五五盈利前景预测报告.docx
- 2026年中国橱柜行业深度调研报告.docx
- 2026年中国船用绞车市场深度调研及投资前景战略分析报告.docx
- 2026年中国船用配套设备市场发展策略及投资潜力可行性预测报告.docx
- 2026年中国储能材料行业运营态势与投资前景预测分析报告.docx
- 2026年中国储氢材料行业运营现状及发展规划分析报告.docx
- 2026年中国传真机市场深度研究及投资前景咨询报告.docx
- 2026年中国储能变流器(PCS)产业深度评估与发展前景趋势分析研究报告.docx
原创力文档

文档评论(0)