最近在学习数据结构,数据存储有多种分类方式:
1、线性存储和非线性存储
线性存储包括数组、链表,非线性存储包括树、图。
2、按照数组、链表、树、图来分类
对于数组,在c语言中运用结构体和malloc函数给结构体数组动态分配内存,然后对数组进行初始化、判断是否满、是否空、逆序处理、插入、追加、升序排序。具体程序如下所示:
#include<iostream>
#include<malloc.h>
struct Arr
{ int * parr;
int len;
int cnt;
};
//初始化数组
bool init(struct Arr *cs_parr,int lenth)
{ cs_parr->parr=(int *)malloc(sizeof(int)*lenth); //malloc返回分配空间的首地址
if(NULL== (cs_parr->parr) )
{ printf("内存分配不成功,初始化失败 \n");
return false;
}
else
{ cs_parr->len=lenth;
cs_parr->cnt=0;
printf("内存分配成功,初始化成功!\n"