数据结构---关于顺序表、链表的一些事

一、顺序表

1.顺序表:用一段地址连续的存储单元依次存储数据元素的线性结构。

2.地址连续的空间,一般情况下采用数组,数组有静态数组和动态数组

   因此,顺序表分为静态顺序表、动态顺序表

静态顺序表

结构体变量分别为:一个数组、有效元素的个数

DataType array[MAX_SIZE];  //存储数据的空间
//	int size;   //1.有效数据    2.可通过下标方式进行访问

动态顺序表:(可以联想为他是一个桶)

结构体变量为:数据块指针(桶在哪)、当前有效数据个数(有多少水)、容量(痛的容量)

      DataType	    *array;
	int         capacity;
	int	     size;

在这里存在一个扩容的过程

1.容量变大              2.开辟空间            3.将老数据写进新空间                  4.释放老空间           5.将新空间挂起

        pSLD->capacity *= 2;
	DataType *NewArray = (DataType *)malloc(sizeof(DataType)*pSLD->capacity);
	int i;
	for (i = 0; i < pSLD->size; i++)
	{
		NewArray[i] = pSLD->array[i];
	}
	free(pSLD->array);
	pSLD->array = NewArray;

具体的一些代码实现过程戳这里啦~

https://blog.csdn.net/Z_JUAN1/article/details/80749333

二、链表

链表:一种链式存储的线性表,用一组地址任性的存储单元存放线性表的数据元素,称存储单元为一个节点。

  1.  DataType    data;  
  2.     struct SListNode *pNext;  

链表分为:单链表、双链表、双向循环链表

具体一些代码点这里啦~

https://blog.csdn.net/z_juan1/article/details/80729933

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值