数据结构
目录
5,数据的插入:首先从数据的最后一个开始依次向后移动一个地址直到满足要插入的位置为止。
7, 删除某个元素:将要删除的元素的位置的后一个元素向左移动一个位置即可。
数据结构:就是根据需要存储的数据,选择具体的逻辑结构与存储结构⽤来 存储数据。
一,线性表
概念:在存储的数据程序中,数据之间存在着一定的先后顺序的结构就叫做线性表。
特点:
①:有唯一的第一个元素,也只有唯一的最后一个元素
②:元素之间有先后顺序。
③:中间数据有且只有一个前驱和后继。
二,顺序表
概念:用来存储具有先后顺序的数据。
1, 顺序表的声明:
//声明类型 顺序表
struct list
{
int data[10];
int num;
};
~
~
2, 顺序表的创建:
struct list
{
int data[10];
int num;
};
//创建顺序表
struct list * create()
{
struct list *slist = malloc(sizeof(struct list)) //申请空间,创建顺序表。
slist->num = 0; //->代表的含义是指针访问数据。 设置当前存储的数据为0个。
return slist;
}
3, 判断顺序表中的数据是否存满。
struct list
{
int data[10];
int num;
};
//创建顺序表
struct list * create()
{
struct list *slist = malloc(sizeof(struct list)) //申请空间,创建顺序表。
slist->num = 0; //->代表的含义是指针访问数据。 设置当前存储的数据为0个。
return slist;
}
//判断顺序表中的数据是否存满。
int full(struct list *p) //访问数据地址中的数据
{
if (p->num==10)
{
printf("FULL");//如果顺序表中的数据满了则返回1.
return 1;
}
else
{
return 0; //如果顺序表中的数据没满则返回0.
}
}
4, 数据的添加:
//声明类型 顺序表
struct list
{
int data[10];
int num;
};
//创建顺序表
struct list * create()
{
struct list *slist = malloc(sizeof(struct list)) //申请空间,创建顺序表。
slist->num = 0; //->代表的含义是指针访问数据。 设置当前存储的数据为0个。
return slist;
}
//数据的添加
void add(struct list *p ,int age) //,int age 代表着在顺序表末尾插入一个数据。
{
p->data[p->num] = age; //首先访问data这个数据再在其后追加一个数据。
p->num++