编写一个程序,实现顺序表的各种基本运算
2013-11-14 16:18
1006 查看
本实验的顺序表元素的类型为char,完成如下实验要求:
(1)初始化顺序表L
(2)采用尾插法依次插入a、b、c、d、e
(3)输出顺序表L
(4)输出顺序表L的长度
(5)判断顺序表L是否为空
(6)输出顺序表的第3个元素
(7)输出元素a的逻辑位置
(8)在第4个元素位置上插入元素f
(9)输出顺序表L
(10)删除L的第3个元素
(11)输出顺序表L
(12)释放顺序表L
代码:
(1)初始化顺序表L
(2)采用尾插法依次插入a、b、c、d、e
(3)输出顺序表L
(4)输出顺序表L的长度
(5)判断顺序表L是否为空
(6)输出顺序表的第3个元素
(7)输出元素a的逻辑位置
(8)在第4个元素位置上插入元素f
(9)输出顺序表L
(10)删除L的第3个元素
(11)输出顺序表L
(12)释放顺序表L
代码:
#include"stdio.h" #include"malloc.h" #define MaxSize 50 typedef struct{ char data[MaxSize]; int length; }SqList; void InitList(SqList *&L) { L=(SqList *)malloc(sizeof(SqList)); L->length=0; } void DispList(SqList *L) { int i; for(i=0;i<L->length;i++) printf("%c",L->data[i]); printf("\n"); } int ListLength(SqList *L) { return(L->length); } bool ListEmpty(SqList *L) { return(L->length==0); } bool getelem(SqList *L,int i) { if(i<1||i>L->length) return false; else { printf("%c",L->data[i]); return true; } } int LocateElem(SqList *L,char m) { int i=0; while(i<L->length&&L->data[i]!=m) i++; if(i>=L->length) return 0; else return i+1; } bool ListInsert(SqList *&L,int i,char m) { 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]=m; L->length++; return true; } bool ListDelete(SqList *&L,int i) { int j; if(i<1||i>L->length) return false; i--; for(j=i;j<L->length-1;j++) L->data[j]=L->data[j+1]; L->length--; return true; } void DestroyList(SqList *&L) { free(L); } void main() { SqList *A; InitList(A); ListInsert(A,1,'a'); ListInsert(A,2,'b'); ListInsert(A,3,'c'); ListInsert(A,4,'d'); ListInsert(A,5,'e'); DispList(A); ListLength(A); ListEmpty(A); getelem(A,3); LocateElem(A,97); ListInsert(A,4,102); DispList(A); ListDelete(A,3); DispList(A); DestroyList(A); }
相关文章推荐
- nginx-push-stream模块源码学习(三)——发布
- PowerManager和PowerManager.WakeLock
- flex中ViewStack利用按钮做导航
- PHPExcel 学习笔记
- 安卓巴士总结了近百个Android优秀开源项目
- 装饰模式(Decorator)
- Import data from SQLServer with Sqoop
- PHPExcel 学习笔记
- Java 对象池实现
- nginx-push-stream模块源码学习(二)——模块初始化
- js Array sort 排序
- Lucene索引的建立和查找索引
- java清除字符串中的html标签
- Django 解决 csrf_protect的方法
- OGNL表达式介绍
- AT32UC3C之power manager(PM)
- 我得博客
- Android: NDK编程入门笔记
- JavaSE_网络编程_TCP_练习2_文本文件
- lucence .net 3.0 测试分词的方法