第三周 项目二——建设“顺序表”算法库
来源:互联网 发布:跟章泽天是校友 知乎 编辑:程序博客网 时间:2024/06/06 14:03
问题及代码:
/* Copyright (c)2016,烟台大学计算机与控制工程学院 All rights reserved. 文件名称:建设“顺序表”的算法库.cpp 作 者: 周国亮完成日期:2016年9月17日 版 本 号:v1.0 问题描述:输入描述:无 程序输出:若干数据。 */ #include"111.h" int main() { SqList *sq; ElemType x[6]= {5,8,7,2,4,6}; ElemType a; int s1,s2,s3,s4,s5; int loc; CreateList(sq, x, 6); DispList(sq); printf("表长度:%d\n", ListLength(sq)); //测试求长度 cout<<"请输入你要查找的元素的位置:"; //测试查找元素的位置 cin>>s2; if(GetElem(sq, s2, a)) cout<<"位置为"<<s2<<"的元素为:"<<a<<endl; else cout<<"位置为"<<s2<<"的元素不存在"<<endl; cout<<"请输入你要查找的元素:"; //测试查找元素 cin>>s1; if((loc=LocateElem(sq, s1))>0) cout<<"值为"<<s1<<"的元素是第"<<loc<<"个元素"<<endl; else cout<<"没有值为"<<s1<<"的元素"<<endl; cout<<"请输入你要插入的元素和你要插入的位置(位置小于等于6):"; cin>>s3>>s4; ListInsert(sq,s4,s3); DispList(sq); cout<<"请输入你要删除的元素的位置(位置小于等于6):"; cin>>s5; ListDelete(sq,s5); DispList(sq); DestroyList(sq); return 0; }
#include"111.h" 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 DispList(SqList *L) //输出线性表DispList(L) { int i; if (ListEmpty(L)) return; for (i=0; i<L->length; i++) printf("%d ",L->data[i]); printf("\n"); } bool ListEmpty(SqList *L) //判定是否为空表ListEmpty(L) { return(L->length==0); } int ListLength(SqList *L) //求线性表的长度ListLength(L) { return(L->length); } bool GetElem(SqList *L,int i,ElemType &e) //求某个数据元素值GetElem(L,i,e) { if (i<1 || i>L->length) return false; e=L->data[i-1]; return true; } int LocateElem(SqList *L, ElemType e) //按元素值查找LocateElem(L,e) { int i=0; while (i<L->length && L->data[i]!=e) i++; if (i>=L->length) return 0; else return i+1; } bool ListInsert(SqList *L,int i,ElemType e) //插入数据元素ListInsert { int j; if(i<1||i>L->length+1) 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) //删除数据元素ListDelete { int j; if(i<1||i>L->length+1) return false; i--; //将逻辑序号转化为物理序号 for(j=i;j<L->length;j++) L->data[j]=L->data[j+1]; L->length--; return true; } void DestroyList(SqList *&L)//销毁顺序表 { free(L); }
#include <iostream> using namespace std; #include <malloc.h> #define MaxSize 50 typedef int ElemType; typedef struct { ElemType data[MaxSize]; int length; } SqList; void CreateList(SqList *&L, ElemType a[], int n); //创建线性表 void DispList(SqList *L); //输出线性表DispList(L) bool ListEmpty(SqList *L); //判定是否为空表ListEmpty(L) int ListLength(SqList *L); //求线性表的长度ListLength(L) bool GetElem(SqList *L,int i,ElemType &e); //求某个数据元素值GetElem(L,i,e) int LocateElem(SqList *L, ElemType e); //按元素值查找LocateElem(L,e) bool ListInsert(SqList *L,int i,ElemType e); //插入数据元素ListInsert bool ListDelete(SqList *L,int i); //删除数据元素ListInsert void DestroyList(SqList *&L); //销毁线性表DestroyList
0 0
- 第三周项目二—建设“顺序表”算法库
- 第三周项目二 建设“顺序表”的算法库
- 第三周项目二建设“顺序表”算法库
- 第三周项目二 建设“顺序表”算法库
- 第三周项目二 建设”顺序表“算法库
- 第三周项目而二--建设“顺序表”算法库
- 第三周 项目二-建设“顺序表”算法库
- 第三周【项目二-建设“顺序表”算法库】
- 第三周项目二 建设“顺序表”算法库
- 第三周项目二 建设“顺序表”算法库
- 第三周项目二-建设“顺序表”算法库
- 第三周项目二--建设“顺序表”算法库
- 第三周 项目二 -建设“顺序表”算法库
- 第三周项目二 建设“顺序表”算法库
- 第三周 项目二建设“顺序表”算法库
- 第三周 项目二 建设“顺序表”算法库
- 第三周项目二 建设“顺序表”算法库
- 第三周项目二 建设“顺序表”算法库
- Android Studio 中如何引入 layoutlib.jar?
- Codevs 4909 寂寞的堆
- JAVA集合-Map
- iOS-多线程详解
- JAVA--IO流
- 第三周 项目二——建设“顺序表”算法库
- JDK,JRE,class及jar的导入
- js学习笔记:基本包装类型
- 多个Java object 概念简单解释
- JAVA 多线程
- oracle where 与having 的区别
- Python描述符,属性,方法,修饰符property,staticmethod,classmethod
- mysql分库分表的方法
- ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock'