宝应123网站建设网,怎么接推广,用心做的网站,建一个网站需要什么流程前言
本文中使用数据类型时#xff0c;若无特殊需求#xff0c;默认都采用int类型。
线性表
顺序表
定义
//静态定义
#define MaxSize 50
typedef struct{int data[MaxSize];//采用数组的形式定义int length; //表示顺序表的长度
}seqList;//动态定义
#define InitSize …前言
本文中使用数据类型时若无特殊需求默认都采用int类型。
线性表
顺序表
定义
//静态定义
#define MaxSize 50
typedef struct{int data[MaxSize];//采用数组的形式定义int length; //表示顺序表的长度
}seqList;//动态定义
#define InitSize 50
typedef struct{int * data; //采用指针的形式定义int MaxSize,length; //顺序表的最大长度以及当前顺序表的长度
}seqList;插入
/*数组定义的形式*/
/**
* 按照指定位置插入元素
* L 顺序表
* i 插入的位置合法的位置为 1 i length1
* e 待插入的元素
*/
bool insertList(seqList L, int i, int e) {if (i 1 || i L.length 1)return false; //插入位置不合法if (L.length MaxSize) //顺序表当前长度等于最大长度return false; //顺序表空间已满for (int j L.length; j i; j--) { //将第i个元素及以后的元素依次向后移动L.data[j] L.data[j - 1];}L.data[i - 1] e;//插入元素L.length;//顺序表长度加一return true;
}删除
/*数组定义的形式*/
/**
* 按照指定位置删除元素
* L 顺序表
* i 删除的位置合法的位置为 1 i length
* e 删除的元素
*/
bool deleteList(seqList L, int i, int e) {if (i 1 || i L.length) //位置不合法return false;e L.data[i - 1]; //将被删除的元素赋值给e以便删除结束后知道删除的元素for (int j i; j L.length; j) { //开始删除L.data[j - 1] L.data[j]; //待删除元素的后一个元素依次覆盖前一个元素}L.length--;return true;
}查找元素
/*数组定义的形式*/
/**
* 采用遍历的方式查找
* L 顺序表
* e 查找的元素
*/
int findList(seqList L, int e) {for (int i 0; i L.length; i) {if (L.data[i] e)return i 1; //返回的是元素位置}return 0; //未找到元素返回0
}链表
定义
typedef struct LNode {int data; //数据内容struct LNode * next; //下一个节点指针
}LNode, * LinkList;栈和队列
树
图
查找
排序