2015-9-14 项目1- 顺序表的基本运算
来源:互联网 发布:淘宝新店采集器 编辑:程序博客网 时间:2024/06/02 07:28
1.问题及代码
领会“0207将算法变程序”部分建议的方法,将顺序表部分的算法变成程序。
#include <stdio.h>#include <malloc.h>#define MaxSize 50 //Maxsize将用于后面定义存储空间的大小typedef int ElemType; //ElemType在不同场合可以根据问题的需要确定,在此取简单的inttypedef struct{ ElemType data[MaxSize]; //利用了前面MaxSize和ElemType的定义 int length;} SqList;//自定义函数声明部分void CreateList(SqList *&L, ElemType a[], int n);//用数组创建线性表void DispList(SqList *L);//输出线性表DispList(L)bool ListEmpty(SqList *L);//判定是否为空表ListEmpty(L)//实现测试函数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;}//输出线性表DispList(L)void DispList(SqList *L){ int i; if (ListEmpty(L)) return; for (i=0; i<L->length; i++) printf("%d ",L->data[i]); printf("\n");}//判定是否为空表ListEmpty(L)bool ListEmpty(SqList *L){ return(L->length==0);}
代码如下:
2.运行结果
3.知识总结
目的是要测试“建立线性表”的算法CreateList,为查看建表的结果,需要实现“输出线性表”的算法DispList。在研习DispList中发现,要输出线性表,还要判断表是否为空,这样,实现判断线性表是否为空的算法ListEmpty成为必要。这样,再加上main函数,这个程序由4个函数构成。main函数用于写测试相关的代码。
4.心得体会
顺序表是最简单也是最常用的一种数据结构,也是最基本,最重要的。因此掌握顺序表的基本运算的实现是有必要的,也是为后来的学习打下了基础。
0 0
- 2015-9-14 项目1- 顺序表的基本运算
- 项目1-顺序表的基本运算
- 【项目1-顺序表的基本运算】
- 【顺序表项目1 - 顺序表的基本运算】
- 第三周项目1-顺序表的基本运算
- 第三周项目(1):顺序表的基本运算
- 第三周实践项目1-顺序表的基本运算
- 第3周 项目1-顺序表的基本运算
- 第三周—项目1 顺序表的基本运算
- 第三周 项目1 - 顺序表的基本运算
- 第三周项目1顺序表的基本运算
- 【第3周 项目1 - 顺序表的基本运算】
- 第3周 项目1 - 顺序表的基本运算
- 第三周 项目1-顺序表的基本运算
- 第3周项目1顺序表的基本运算
- 第3周项目1-顺序表的基本运算
- (第三周项目1)顺序表的基本运算
- 第3周 项目1 - 顺序表的基本运算
- hibernate的uuid主键生成器(使用注解)
- StringBuffer和String的优缺点比较
- 第二周实践项目3-体验复杂度(2)汉诺塔
- hdu5442 Favorite Donut(最大表示法+KMP)
- POJ 3069 Saruman's Army (贪心 )
- 2015-9-14 项目1- 顺序表的基本运算
- 使用css灰化图片
- git常见操作
- java.lang.NoClassDefFoundError: org/apache/juli/logging/LogFactory的解决
- 兔子--Android Studio中的项目怎么依赖library
- mysql 查询表中相同的某字段数据
- 黑马程序员学习(一) JAVA概述和环境搭建
- cookie 实现跨域
- java学习值Character类