未完待续:D
/*
线性结构数组的实现
*/
#include <stdio.h>
#include <malloc.h> //包含了malloc函数
#include <stdlib.h> //包含了exit函数
//首先定义描述数组信息的结构体类型
struct Arr
{
int * pBase;//存放数组首地址的指针变量
int len;//数组长度
int cnt;//数组中元素的个数
};
//定义数组的基本操作的函数声明
void init_arr(struct Arr * pArr,int length);//数组初始化
bool append_arr(struct Arr * pArr,int val);//追加元素
bool insert_arr(struct Arr * pArr,int index ,int val);//插入元素
bool delete_arr();//删除元素
int get(); //得到元素
bool is_empty(struct Arr * pArr);//判断是否为空
bool is_full();//判断是否已满
void sort_arr();//排序
void show_arr(struct Arr * pArr);//遍历数组
void inversion_arr();//数组倒置
int main(void)
{
struct Arr arr;
init_arr(&arr,6);//初始化函数测试
//show_arr(&arr);
append_arr(&arr,3);
append_arr(&arr,2);
append_arr(&arr,9);
insert_arr(&arr,2,7);
show_arr(&arr);
return 0;
}
//初始化数组的函数实现 pArr是结构体变量arr的指针
void init_arr(struct Arr * pArr,int length)
{
pArr->pBase=(int *)malloc(sizeof(int)*length);//malloc()函数头文件声明
if(NULL==pArr->pBase)
{
printf("动态内存分配失败!\n");
exit(-1);//要在头文件声明
}
else
{
pArr->len=length;
pArr->cnt=0;
}
}
//遍历数组函数实现
void show_arr(struct Arr * pArr)
{
if(is_empty(pArr))
{
printf("数组为空\n");
}
else
{
for(int i=0;i<pArr->cnt;i++)
{
printf("%d",pArr->pBase[i]);
}
}
}
//判断数组是否为空
bool is_empty(struct Arr * pArr)
{
if(pArr->cnt==0)
return true;
else
return false;
}
//数组追加元素
bool append_arr(struct Arr * pArr,int val)
{
if(pArr->cnt < pArr->len)
{
pArr->pBase[pArr->cnt]=val;
(pArr->cnt)++;
return true;
}
else
printf("数组已满\n");
return false;
}
//插入元素
bool insert_arr(struct Arr * pArr,int index ,int val)
{
if(pArr->cnt<pArr->len&&index<=pArr->cnt)
{
for(int i=pArr->cnt-1;i>=index-1;i--)
{
pArr->pBase[i+1]=pArr->pBase[i];
}
pArr->pBase[index-1]=val;
(pArr->cnt)++;
return true;
}
else
{
printf("插入失败\n");
return false;
}
}
分享到:
相关推荐
NULL 博文链接:https://linuxdev.iteye.com/blog/1137108
数组实现线性表 数组实现线性表 数据结构 数组实现线性表 数据结构
用定长数组实现线性表用定长数组实现线性表
用数组实现线性表,并完成各种操作,主要是插入查找、删除插入
包括线性表的各种基本操作C语言实现(不用库函数)
利用数组实现线性表 吼吼吼吼吼吼吼吼吼吼吼吼吼吼吼吼
用动态扩充实现线性表用动态扩充实现线性表
通过C++完成数组实现线性表,是数据结构入门学习之一
数组和广义表可看做线性表的推广,其特点是数据元素仍是一个表。
数据结构 线性表 实验代码 C语言 数组 支持大部分线性表操作,hust 赵明 虽是菜鸟,努力坚持学习
1、创建线性表类:线性表的存储结构使用数组描述,提供操作: 插入、删除、 查找等。 2、设通讯录中每一个联系人的内容有:姓名、电话号码、班级、宿舍。由键 盘输入或文件录入的通讯录信息建立通讯录表,使用线性表...
1.代码相关CSDN博客文章:https://blog.csdn.net/u013025955/article/details/90644964 2.目录结构: code:源代码;project:VC 6.0工程
纯C语言写的线性表基本操作 程序段:/*线性表的操作*/ #include #include typedef int ElemType; struct List { ElemType *list; int size; int MaxSize; }; /*初始化列表,即动态存储空间分配并置L为一个空列表*...
用c语言实现的线性表,很好的理解数据结构中的线性表的结构和用法
基于线性表的图书信息管理基于c语言实现 线性表的图书信息管理 基于c语言实现 线性表的图书信息管理 基于c语言实现 线性表的图书信息管理 基于c语言实现 线性表的图书信息管理 基于c语言实现 线性表的图书信息管理 ...
该程序功能强大,是用数据结构的单链表实现的,是面向过程的win32控制台程序,输入线性表的数据的时候,不用输入要建立的节点个数,直接以回车结束,数与数间以空格隔开
C语言 定义单链表的结点类型 对单链表的一些基本操作
用C语言实现了顺序线性表的基本操作(创建、插入数据、获取数据、删除数据、获取存放的数据量、清空线性表、销毁线性表)
C语言 数据结构 线性表