存储结构: 对数据 以及 数据关系的 存储
连续存储: 将所有数据放到一起 数组
离散存储: 数据可能分布在内存的 不同位置
对数的操作(算法):
不是简单的数值操作 而是一些 逻辑操作
增: 增加数据
删: 删除数据
改: 修改数据
查: 查找或遍历数据
一.构造顺序队列
1.定义结构 定义队列 创建空队列
#include <stdio.h>
#include <stdlib.h>
//定义结构
typedef int Data_t;
//定义循环队列
typedef struct queue_t
{
Data_t *data; // 数组容器 堆区分配
int max_len; // 容器大小
int push_i; // 入口下标
int pull_i; // 出口下标
}queue_t;
//创建空队列 初始化队列
int init_queue(queue_t *head, int size)
{
if(head == NULL || size == 0) return -1;
size += 1; // 实际存储空间 比真实需要的空间大一个
head->data = (Data_t *)malloc(size * sizeof(Data_t));
if(head->data == NULL) return -2;
head->max_len = size;
head->push_i = 0;
head->pull_i = 0;
return 0;
}