第二章线性表P29~34(顺序线性表算法)
来源:互联网 发布:windows vista能升级 编辑:程序博客网 时间:2024/06/05 09:08
#include<iostream.h>#include<stdlib.h>#include<malloc.h>#define Maxsize 50typedef int ElemType;typedef struct{ElemType data[Maxsize];int length;}SqList;void CreateList(SqList * &L,ElemType a[],int n){ int i;L=(SqList *)malloc(sizeof(SqList)); for(i=0;i<n;i++){L->data[i]=a[i];L->length=n;}}void InitList(SqList *&L)//本算法的空间复杂度为o(1){L=(SqList *)malloc(sizeof(SqList));L->length=0;}void DestroyList(SqList *&L)//本算法的空间复杂度为o(1){free(L);}bool ListEmpty(SqList *L)//本算法的空间复杂度为o(1){if(L=NULL)return false;return true;}int ListLength(SqList *L)//本算法的空间复杂度为o(1){return L->length;}void DispList(SqList *L)//本算法的空间复杂度为o(L->length){int i;for(i=0;i<L->length;i++){cout<<L->data[i]<<" ";}cout<<endl;}bool GetElem(SqList *L,int i,ElemType &e)//本算法的空间复杂度为o(1){if(i<1||i>L->length){return false;}e=L->data[i-1];return true;}int LocateElem(SqList *L,ElemType e)//本算法的空间复杂度为o(L->length){ int i=0; while(i<L->length&&L->data[i]==e) i++;if(i>=L->length)return 0;elsereturn i+1;}bool ListInsert(SqList *&L,int i,ElemType e)//本算法的空间复杂度为o(n){int j;if(i<1||i>L->length)return false;i--;for(j=L->length;j>i;j--)L->data[j]=L->data[j-1];L->data[i]=e;L->length++;return true;}bool ListDelete(SqList *&L,int i,ElemType &e)//本算法的空间复杂度为o(n){if(i<1||i>L->length) return false; i--;e=L->data[i];for(int j=i;j<L->length-1;j++){L->data[j]=L->data[j+1];} L->length--; return true;}int main(){SqList *L;int e;int a[10]={1,2,3,4,5,6,7,8,9,10};InitList(L); CreateList(L,a,10);DispList(L);ListDelete(L,3,e);cout<<e<<endl; DispList(L); ListInsert(L,3,e);DispList(L);return 0;}
1 0
- 第二章线性表P29~34(顺序线性表算法)
- 数据结构 第二章 线性表(3)顺序线性表合并
- 第二章 线性表
- 第二章:线性表
- 第二章 线性表
- 第二章 线性表
- 第二章 线性表
- 线性表 第二章
- 第二章:线性表
- 第二章线性表
- 第二章 线性表
- 第二章:线性表
- 第二章:线性表
- 第二章线性表
- 第二章 线性表
- 第二章 线性表
- 第二章 线性表
- 第二章线性表
- signal(SIGPIPE, SIG_IGN)
- JavaMail实现邮件的发送
- Myeclipse包视图的切换
- matlab运行时,任务栏出现白色的图标,解决方案!
- Ajax+FormData实现无刷新附件上传
- 第二章线性表P29~34(顺序线性表算法)
- ubuntu16.04+gtx1080+cuda8.0+opencv3.1.0+cudnn-v5+caffe安装教程
- 表格中 卡板号是三个,每个卡板又有很多箱,对每箱进行判定,如果一箱ng整个卡板批退,现在想得到批退的卡板数量
- 【noip2011】OpenJudge noi 4366选择客栈
- hadoop下编译运行mahout示例的问题解决方案
- Loi_Cunese|CODEVS|1557|热浪
- python CGI编程
- muduo源码分析之Buffer设计
- 携程移动端 UI 界面性能优化实践