动态数组的C实现

原创 2018年04月16日 09:33:36

传统链表的讲解参考:

https://blog.csdn.net/yanggx0929/article/details/79947351

1. 动态数组的结构

动态数组的结构图如下:


动态数组主要有三个元素构成:数据存放地址,当前元素个数,以及数组容量

故动态数组的结构定义如下:


2. 动态数组的功能实现

动态数组初始化


将动态数组的初始空间设置为20个数据类型大小,此处默认使用动态数组存放的数据类型为int

动态数组尾部插入元素


注意:此处可能会发生数组空间不足的问题,当数组空间不够时,应重新分配内存空间

根据位置删除元素


删除数组的元素时,需要将后续的元素依次向前移动一位

查找元素首位置


打印动态数组


释放动态数组



传统链表的讲解参考:

https://blog.csdn.net/yanggx0929/article/details/79947351


C语言实现使用动态数组来构造栈结构

我在面前一篇博客《C语言实现使用静态数组来构造栈结构》中使用了静态数组来模拟栈的操作。静态数组的大小是在代码中写死的,是存储在用户栈上面的,使用起来不灵活。在这篇博客中我会使用动态数组来构造,此时使用...
  • CHENYUFENG1991
  • CHENYUFENG1991
  • 2016-03-06 15:10:07
  • 4003

c语言实现一个简单的通用动态数组

背景 最近在看《系统程序员成长计划》,里面有个任务是实现一个动态数组,所以我用以前学过的知识实现了一个通用的动态数组,不过暂时只能存放int,char,double,字符串的还没实现。 设计与实现 一...
  • u013238038
  • u013238038
  • 2016-01-30 12:06:32
  • 2043

C语言动态数组原理及实现

近来编写几个程序,很多都用到了数组。但是对于数组的大小却是没有固定的,也就是说可以更改数组大小,其大小是可以变化的。并不像初学时的那样,告诉你一个范围,你就必须取最大值以满足要求。那样可能就会浪费很多...
  • u013398034
  • u013398034
  • 2016-07-11 16:48:36
  • 8647

一维动态数组的实现(c语言)

编程输入一个班的某课程的学生成绩,计算其平均分,然后输出。班级人数由键盘输入。#include #include main() { int *p = NULL,i,n,sum; pr...
  • m_hahahaha1994
  • m_hahahaha1994
  • 2016-06-07 16:15:19
  • 5454

C语言动态数组的完整实现

    数组的有点在于随机存取,然而其不足也是明显的,就是一旦建立其大小就不能改变。若用数组存储数据,则必须创建一个可能存放的最大空间的数组,这无疑浪费了空间。动态数组解决了这个问题。动态数组的思路是...
  • ecorefeng
  • ecorefeng
  • 2010-08-13 19:24:00
  • 4276

指针与动态数组

C语言中如何实现动态数组: 使用malloc()库函数(内存分配)来得到一个指向一大块内存的指针; 像引用数组一样引用这块内存 如果需要使数组有动态增长的能力,那就修改内存的总容量,直接在运行时在堆上...
  • baibaibai66
  • baibaibai66
  • 2016-11-15 10:16:19
  • 234

C/C++实现动态数组

C语言中,数组长度必须在创建数组时指定,并且只能是一个常数,不能是变量。一旦定义了一个数组,系统将为它分配一个固定大小的空间,以后不能改变,称为静态数组。静态数组存放在:全局变量区、栈。     ...
  • tfygg
  • tfygg
  • 2015-09-06 12:49:41
  • 933

栈的动态数组实现

栈的特性:先进后出public class Stack { private ArrayList list = new ArrayList(); //1、置空栈 public vo...
  • GFJ0814
  • GFJ0814
  • 2016-10-02 12:55:32
  • 329

C语言实现使用动态数组实现循环队列

我在上一篇博客《C语言实现使用静态数组实现循环队列》中实现了使用静态数组来模拟队列的操作。由于数组的大小已经被指定,无法动态的扩展。所以在这篇博客中,我换成动态数组来实现。动态数组可以不断开辟内存空间...
  • CHENYUFENG1991
  • CHENYUFENG1991
  • 2016-03-07 09:18:34
  • 4920

C/C++实现多维不等宽多维动态数组

  • 2009年08月22日 12:37
  • 3KB
  • 下载
收藏助手
不良信息举报
您举报文章:动态数组的C实现
举报原因:
原因补充:

(最多只允许输入30个字)