- 博客(18)
- 收藏
- 关注
原创 数据结构 队列的概念及基本操作
---------------start reading--------------前言队列是遵循先进先出的一种特殊的结构,就像排队打饭,先去的就能先打到饭,也像一个没有底的桶先倒进去的先出来。所以队列需要一个头和一个尾来控制队列。顺序队,用顺序结构存储队列,分配指定的长度存储数据,会存在队头队尾序号移动的问题,对头下标初始值为0,经过插入删除之后会使头指针的下标改变成1(0、1、2、3都...
2019-06-27 18:24:22 1623
原创 数据结构 栈的概念的基本操作
---------------start reading---------------前言栈是一种特殊的结构,遵循先进后出的原则,若我们输入12345,则会输出54321栈的示意图如何实现栈的功能呢?首先我们来看一看顺序栈(利用数组)是如何定义及操作定义顺序栈有栈顶实际上是typedef struct SeqStack{ int *elem; int top;//栈顶指针,类...
2019-06-25 10:50:48 329
原创 数据结构 链表的逆置(经典重点题!!)
---------------start reading---------------链表逆置就是把最后以一个提到坐前面,倒数第二个放到第二个……直到第一个到最后一个。由于链表没有下标,所以不能借助下表来实行数据的逆置,要靠空间的转移来完成链表的逆置方法一利用头插思想(最重要!)将头节点提出来,将第一个数据结点next置成NULL进行头插,再将第二个数据结点进行头插,第三个数据结点进行头...
2019-03-15 20:01:46 2065
原创 数据结构 无头结点的单链表
---------------start reading---------------前言头结点是用来标记单链表的一个标志,有些时候我们可以不使用头结点,这时候操作就完全不一样了。如何建立一个无头结点的单链表?不能在头结点的数据域中放数据再变成假的第一个数据节点在进行操作,那是自己骗自己。在单链表中我们直接头结点进行解引用,但无头结点的链表最初其实就是一个指针,没有指向任何结点,在进行插入...
2019-03-15 17:52:38 2437
原创 数据结构 双向链表
---------------start reading---------------前言双向链表是链表的一种,都是以链式结构存储。与单链表不同的是,双向链表可以向前找前驱,而单链表只能自己定义前驱而且不能倒退。双向链表有与单链表不同的结构,但实现的功能基本是一样的。双向链表的结构双向链表的操作一定要注意,要改前驱地址。特别注意尾结点,当需要改后继的前驱的时候,尾结点不能用p->p...
2019-03-15 17:04:15 183
原创 数据结构 循环链表
---------------start reading---------------前言在知道熟悉单链表的操作后,我们知道链表有一个数据域存放具体的数据,有一个next域存放后继的地址,如果我们将尾结点的next域指向之前的任意一个节点,那么就形成了一个环。下面我们就来说说循环链表如图就是一个循环链表在对循环链表进行操作时要注意尾结点的后继不是NULL,而是plist循环条件要从p...
2019-03-13 23:14:33 327
原创 数据结构 不定长顺序表的基本操作
---------------start reading---------------前言线性表是数据结构的基础,线性表是一种线性结构,有一个前驱,有一个后记。线性表又分为顺序表(顺序结构)和链表(链式结构)。今天我们来看看不定长顺序表的基本操作。顺序表的基本操作顺序结构是逻辑相邻,物理上也相邻,也就是说地址相邻,所以说我们可以把顺序表看成一个没有结尾的数组,如图定义一个数组存放数据...
2019-03-07 22:45:15 236
原创 C语言基础 时间复杂度和空间复杂度
---------------start reading---------------时间复杂度定义时间复杂度:运行次数与规模之间的函数关系O(f(n)),又叫大O阶举例int main(){ int i; int n=10; int temp=0; for(i=1;i<=n;i++) { temp+=i; } return 0;}运行次数:1,2,...
2018-11-12 00:56:08 6485
原创 C语言基础 指针的作用
---------------start reading--------------前言对于一个C语言新手,许多人会有困惑,我们为什么要用指针,直接用变量定义不是更方便吗?那么今天就让我们来认识一下指针的作用,你便知道指针是多么的不可或缺了。...
2018-11-07 13:13:15 1980
原创 C语言基础 指针变量的定义与使用
---------------start reading---------------前言:指针变量是C语言基础中的重要模块,但指针的定义与使用却常常混淆,分不清,今天,我们就来梳理一下指针的定义和使用方法(1)(2):定义变量并将其赋值(3):定义一个整形指针变量,并将a的地址放到p中(4):p解引用(将p与a建立某种联系),将100赋值到p指向的格子里(5)将b的地址放入p中...
2018-11-03 08:31:13 1860
原创 C语言基础 输出数字的每一位数
----------------------------------------- start reading -------------------------------------------------问题:任意输入一个整数,输出他的每一位数1、 逆序输出思路:(1)余除,输出最低位数字(2)整出,依次减少尾数(3)先余除再整除以此为循环,则形成余尾数,甩尾数的模式,依次输出...
2018-10-15 14:37:52 27280
原创 C语言基础 求输入的数字是几位数
问题:任意输入一个整数,求这是一个几位数字?思路:每次除以10,则去掉一位数,统计一次。经过循环,直到最后一位数,除以10为0,停止循环,停止统计。代码:(1)使用for循环#include<stdio.h>int Count(int n){ int i; if(n==0) { i=1; } for(i=0;n!=0;i++) { n/=10; ...
2018-10-15 13:45:23 20473 2
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人