数据结构
文章目录
一、绪论
1、程序 = 算法 + 数据结构
2、基本概念和术语
1.数据:
所有能被输入到计算机中,且被计算机处理的符号的集合,是计算机操作的对象的总称。
2.数据元素
是数据(集合)中的一个“个体”,是数据的基本单位,由他若干个数据项 组成,也称为节点、元素、顶点和记录。
3.数据结构
是指互相之间存在着一种或多种关系的数据与元素的集合,或者说,其是带结构的数据元素的集合。
3、总结
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-b9kJKWt3-1634462352051)(C:\Users\lucky\AppData\Roaming\Typora\typora-user-images\1634455826975.png)]
二、线性表
1、定义
线性表是具有相同类型的 n (n>=0) 个元素的有限序列,其中 n 为表长,当 n=0 时,该表为空表。
typedef int ElemType; //定义别名
typedef int Status; //定义别名
typedef struct{
ElemType *elem; //存储空间基址
int length; //当前长度
int listsize; //当前分配的存储容量
}SqList;`
**备注:**笔者在进行数据结构学习的时候,对C++内容不熟悉,按照课本输入却报错,因为未定义或者未加头文件。
#include<stdlib.h>
#include<stdio.h>
#include <iostream>
using namespace std;
#define LIST_SZIE 1000 //线性表存储空间的初始分配量
#define LISTINCREMENT 10 //线性表存储空间的分配增量
#define OVERFLOW 1 //定义出错值
#define OK true //定义OK返回值
#define Error 1 //定义ERROE返回值
2、操作
1.构建空线性表L
//为当前表分配空间
Status initLise_Sq(SqList &L){
//构建空的线性表LS
// L.elem=(ElemType *) malloc(LIST_SZIE*sizeof(ElemType));
L.elem = (ElemType *)malloc(LIST