数据结构的基础知识:
1968年美国克努特教授开创了数据结构的最初体系;数据结构是指数据的逻辑结构和存储结构及其操作;
数据结构是一门综合性的专业客场,是一门介于数学、计算机硬件、计算机软件之间的一门核心课程。是设计和实现编译系统、操作系统、数据库系统及其他系统程序和大型应用程序的基础
数据的逻辑结构
线性结构:顺序表 链表 栈 队列
非线性结构: 树 图
线性表特点:
1、除第0个元素外,其他元素都有前驱,除最后一个元素外,其他元素都有后继;
2、在插入和删除时,需要移动元素
3、大小固定,地址连续
4、存储密度高,访问方便
定义一个数据结构来描述顺序表
#define SIZE 10
typedef int dataType;
struct list
{
dataType data[SIZE];//数组,存放顺序表中的元素
int count;//计数器,记录表中有多少有效元素
};
typedef struct list LIST;
顺序表的的伪代码
函数名:createList
函数功能:创建表
函数参数:无
函数返回值:成功时,返回表的起始地址;失败时返回NULL;
函数名:destroyList
函数功能:销毁线性表
函数参数:LIST*pList:表的起始地址;
函数返回值:无
函数名:insertDataToList
函数功能:插入数据到线性表中
函数参数:LIST*pList: 表的起始位置,
int offset:插入的位置的下标,如果为-1,则表示插入到表尾部
dataType newData:插入的数据
函数返回值:成功时,返回 0 ;失败时,返回 -1。
函数名:showList
函数功能:显示线性表中的数据
函数参数:List*pList:表的起始地址
函数返回值:无
函数名:searchDataFromList
函数功能:查找指定元素在线性表中的位置
函数参数:LIST*pList:表的起始地址,
dataType searchData:被查找的数据。
函数返回值:成功时返回下标,失败时返回-1.
函数名:updateDataFromList
函数功能:更新线性表中的值
函数参数:LIST*pListL:表的起始地址
dataType oldData:更新之前的值
dataType newData:更新之后的值
函数返回值: 成功时返回0; 失败时返回-1
函数名:deleteDataFromList
函数功能:从线性表删除一个元素
函数参数:
LISTpList :表的起始地址
int offset :删除的位置(下标),如果为-1则表示删除表尾部
dataTypepDelData:保存被删除的数据
函数返回值:成功时,返回0;失败时返回-1.