第三周项目1 顺序表的基本运算
来源:互联网 发布:linux 文件读权限 编辑:程序博客网 时间:2024/05/16 06:33
- /*
- *Copyright (c) 2017,烟台大学计算机与控制工程学院
- *All rights reserved.
- *文件名称:项目1 - 顺序表的基本运算
- *作 者:葛惠文
- *完成日期:2017年9月19日
- *版 本 号:v1.0
- * 问题描述:实现顺序表基本运算有算法,依据“最小化”的原则进行测试。
- 所谓最小化原则,指的是利用尽可能少的基本运算,组成一个程序,并设计main函数完成测试。
- */
#include<stdio.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);void InitList(SqList *&L);void DestroyList(SqList *&L);bool ListEmpty(SqList *L);int ListLength(SqList *L);void DispList(SqList *L);bool GetElem(SqList *L,int i,ElemType &e);int LocateElem(SqList *L,ElemType e);bool ListInsert(SqList *&L,int i,ElemType e);bool ListDelete(SqList *&L,int i,ElemType &e);int main(){ SqList *sq; ElemType x[6]={5,8,7,2,4,9}; CreateList(sq,x,6); DispList(sq); return 0;}//建立顺序表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;}//初始化线性表InitListvoid InitList(SqList *&L){ L=(SqList *)malloc(sizeof(SqList)); L->length=0;}//销毁线性表DestroyListvoid DestroyList(SqList *&L){ free(L);}//判定是否为空表ListEmptybool ListEmpty(SqList *L){ return(L->length==0);}//求线性表的长度ListLengthint ListLength(SqList *L){ return(L->length);}//输出线性表DispListvoid DispList(SqList *L){ int i; if(ListEmpty(L)) return; for(i=0;i<L->length;i++) printf("%d",L->data[i]); printf("\n");}//求某个数据元素值GetElembool GetElem(SqList *L,int i,ElemType &e){ if(i<1 || i>L->length) return false; e=L->data[i-1]; return true;}//按元素值查找LocateElemint LocateElem(SqList *L,ElemType e){ int i=0; while(i<L->length && L->data[i]!=e) i++; if(i>=L->length) return 0; else return i+1;}//插入数据元素ListInsertbool ListInsert(SqList *&L,int i,ElemType e){ 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;}//删除数据元素ListDeletebool ListDelete(SqList *&L,int i,ElemType &e){ int j; if(i<1 || i>L->length) return false; i--; e=L->data[i]; for(j=i;j<L->length-1;j++) L->data[j]=L->data[j+1]; L->length--; return true;}
阅读全文
0 0
- 第三周项目1-顺序表的基本运算
- 第三周项目(1):顺序表的基本运算
- 第三周实践项目1-顺序表的基本运算
- 第三周—项目1 顺序表的基本运算
- 第三周 项目1 - 顺序表的基本运算
- 第三周项目1顺序表的基本运算
- 第三周 项目1-顺序表的基本运算
- (第三周项目1)顺序表的基本运算
- 第三周项目1 顺序表的基本运算
- 第三周 项目1-顺序表的基本运算
- 第三周项目1-顺序表的基本运算
- 第三周项目1-顺序表的基本运算
- 第三周项目1 顺序表的基本运算(2)
- 第三周【项目1 - 顺序表的基本运算】
- 第三周 项目1-顺序表的基本运算
- 第三周项目1顺序表的基本运算2
- 第三周项目1-顺序表的基本运算
- 第三周项目1—顺序表的基本运算
- java中的接口 匿名内部类配合接口使用
- HDU
- TCP/IP相关知识
- DOM(一)——简介
- [UE4] C++实现Delegate Event实例(例子、example、sample)
- 第三周项目1 顺序表的基本运算
- C# dateTimePiacker 与ACCESS中日期/时间 的列比较的问题 已解决
- Spark Programming Guide(二)
- I2C总线
- js基础-语法
- datareader分页
- 用C++实现快排(思路+代码)
- 未能加载文件或程序集 Newtonsoft.Json, Version=4.5.0.0 的报错,解决方法
- 【kong系列十一】之JWT插件RSA256非对称加密使用