
------【C语言数据结构】
程序员的时光
用心写好每一篇文章。
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
顺序表(动态数组)
一、动态数组的框架搭建1.先添加DynamicAyyar.h头文件,01动态数组.c源文件(有主函数)和DynamicAray.c源文件(没有主函数);2.在DynamicAyyar.h添加以下内容:动态数组的结构体;对结构体进行操作的一系列函数;#ifndef DYNAMIC_ARRAY_H#define DYNAMIC_ARRAY_H#include<st...原创 2018-12-27 10:35:30 · 808 阅读 · 3 评论 -
线性表(7)——链式存储
1. 基本概念;线性表的链式存储结构,为了表示每个数据元素与其直接后继元素之间的逻辑关系,每个元素除了存储本身的信息外,还需要存储指示其后继的信息。单链表:线性表的链式存储结构中,每个结点中只包含一个指针域,这样的链表叫单链表;通过每个节点的指针域将线性表的数据元素按其逻辑次序链接在一起;概念解释:表头结点:链表中的第一个结点,包含指向第一个数据元素的指...原创 2019-07-27 15:14:24 · 480 阅读 · 0 评论 -
线性表(6)——单链表功能实现
目录1. LinkList.c各种功能函数的实现;1.1 初始化链表;1.2 元素的指定位置插入;1.3 删除指定位置的元素;1.4 查找指定值的元素;1.5 返回第一个结点;1.6 打印链表结点;1.7 释放链表内存;2. main.c测主函数测试;上一节我们说了单链表的函数框架搭建;现在来说一下函数功能的代码实现;每个功能函数都有一个Lin...原创 2019-07-26 22:44:19 · 490 阅读 · 0 评论 -
线性表(5)——单链表框架搭建
目录1. LinkList.h头文件(函数声明);2.LinkList.c源文件(函数实现);3.源文件main.c(包括主函数);先看看项目文件:总共3个文件,LinkList.h 是头文件,包含各种函数的定义;LinkList.c 是源文件,包含各种函数的具体功能实现,以及调用;main.c 是主函数文件,包含主函数;1. LinkList...原创 2019-07-26 10:33:15 · 582 阅读 · 0 评论 -
线性表(4)——顺序存储
目录1. 基本概念;2. 顺序存储的设计与实现;(1)插入元素算法;(2)删除元素算法;3. 优缺点;这一节来说一下线性表的顺序存储结构,其实上一节的动态数组就是线性表的顺序存储结构的实现;1. 基本概念;线性表的顺序存储结构,指的是用一段地址连续的存储单元依次存储线性表的数据元素;2. 顺序存储的设计与实现;算法要点:(1)...原创 2019-07-25 10:54:39 · 481 阅读 · 0 评论 -
线性表(3)——动态数组功能实现
目录1.DynamicArray.c文件的各种功能函数的实现;2. 动态数组.c测试文件;首先分析一下函数功能的代码编写思路:1. 每个功能函数都有一个Dynamic_Array* arr的参数,因此都要对arr是否为空进行判断;2. 当插入一个新元素时,需要做到以下几步: (1)当插入一个新的元素的时候,这个时候发现空间不足,要申请一块更大的内存空间...原创 2019-07-25 10:12:21 · 451 阅读 · 0 评论 -
关于return返回的四种结果的区别
目录1. return;2. return 0;3. return -1;4. return 1;1. return;如果什么都不接的话,其实就是void类型函数的返回,返回后不再执行return后面的语句;也就是中断返回值为void类型的函数执行,作用相当于break语句;中断循环的执行;如果函数执行成功返回0,不成功返回非0,一般情况下非0值常用-...原创 2019-07-24 20:32:44 · 9674 阅读 · 2 评论 -
线性表(2)——动态数组框架搭建
目录1.DynamicArray.h头文件(函数声明);2.DynamicArray.c源文件(函数实现);3. 动态数组.c 源文件(包含主函数main);先看看项目文件:总共3个文件,DynamicArray.h 是头文件,包含各种函数的定义;DynamicArray.c 是源文件,包含各种函数的具体功能实现,以及调用;动态数组.c 是主函数文件,包...原创 2019-07-24 18:18:20 · 422 阅读 · 0 评论 -
线性表(1)——概念
目录1. 基本概念;2. 数学定义;3. 性质;4. 线性表的基本操作;1. 基本概念;线性表是0个或者多个数据元素的有限序列;特性:数据元素之间是有序的;数据元素个数是有限的;数据元素的类型必须相同;2. 数学定义;线性表是具有相同类型的n(>=0)个数据元素的有限序列(a0,a1,a2,...,an),ai是表项,n是表长度;3. ...原创 2019-07-24 15:35:22 · 485 阅读 · 0 评论 -
数据结构概述
目录1. 数据结构概念;2. 算法;2.1 概念;2.2 算法与数据结构的区别;2.3 算法特性;2.4 算法效率的度量;1. 数据结构概念;数据结构主要研究非数值计算问题的程序中的操作对象以及它们之间的关系,不是研究复杂的算法;数据结构是计算机存储、组织数据的方式;2. 算法;2.1 概念;算法是特定问题求解...原创 2019-07-24 15:12:31 · 372 阅读 · 0 评论 -
线性表(8)——约瑟夫问题
目录1. CircleLinkList.h头文件;2. CircleLinkList.c源文件;3. main.c主函数;首先来看一下,什么是约瑟夫问题?1. CircleLinkList.h头文件;#ifndef CIRCLELINKLIST#define CIRCLELINKLIST#include<stdio.h>#include...原创 2019-07-29 14:27:57 · 472 阅读 · 0 评论 -
栈的链式存储
一、链式栈的框架搭建1.先添加LinkStack.h头文件,04栈的链式存储.c源文件(有主函数)和LinkStack.c源文件(没有主函数);2.在SeqStack.h添加以下内容:定义栈的结构体;定义栈结点的结构体;对结构体进行操作的一系列函数;#ifndef LINKSTACK_H#define LINKSTACK_H#include <stdlib...原创 2018-12-27 10:34:32 · 1065 阅读 · 0 评论 -
栈的顺序存储
一、顺序栈的框架搭建1.先添加SeqStack.h头文件,03栈的顺序存储.c源文件(有主函数)和SeqStack.c源文件(没有主函数);2.在SeqStack.h添加以下内容:定义栈的结构体;对结构体进行操作的一系列函数;#ifndef SEQSTACK_H#define SEQSTACK_H#include<stdlib.h>#include&l...原创 2018-12-27 10:35:03 · 475 阅读 · 0 评论 -
单链表
一、单链表的框架搭建1.先添加LinkList.h头文件,02单向链表.c源文件(有主函数)和LinkList.c源文件(没有主函数)2.在LinkList.h添加以下内容:定义单链表的结构体;定义结点的结构体;对结构体进行操作的一系列函数;#ifndef LINKLIST_H#define LINKLIST_H#include<stdlib.h>...原创 2018-12-27 10:35:16 · 325 阅读 · 0 评论