
算法
haixin-561
这个作者很懒,什么都没留下…
展开
-
数据结构:栈的应用 C语言版 -(1)
一 进制转换:十进制 N 和 其他进制 d 之间的转换 公式:N=(N÷d)∗d+N%dN=(N\div d)*d+N\%dN=(N÷d)∗d+N%d例:(1348)10=(2504)8(1348)_{10}=(2504)_8(1348)10=(2504)8 运算过程如下:示例:#define _CRT_SECURE_NO_WARNINGS#include <stdio.h>#include <stdlib.h>#include <string.h>原创 2020-07-19 00:00:27 · 1133 阅读 · 0 评论 -
数据结构:栈(Stack 链式存储结构) C语言版
链式存储结构栈栈的链式存储结构,简称链栈。栈只能从栈顶来作插入和删除动作,由于链表有头指针,而栈顶指针也是必须的,所以比较好的方法是把栈顶放在链表的头部。另外,都已经有了栈顶在链表头部了,单链表中比较常用的头节点也就失去了意义,通常对于链栈来说,是不需要头结点的。对于链栈来说,基本不会存在栈满的情况,除非内存已经没有可用的使用空间,如果发生则计算机系统将死机崩溃,而不是链栈是否溢出的问题。对于空栈来说,链表原定义的头指针指向空,那么链栈的空其实就是 top=NULL。栈的链式存储结构及实现:定原创 2020-07-18 00:11:32 · 500 阅读 · 0 评论 -
数据结构:栈(Stack 顺序存储结构) C语言版
栈的定义栈(stack)是一种 特殊的线性表。是限定仅在表尾进行插入和删除的线性表。 (使用线性表可以模拟栈)把允许删除和插入的一端称为栈顶(top),另一端称为栈底(bottom),不含任何元素的栈称为空栈。栈又称作 后进先出 (Last In First Out) 的线性表,简称 LIFO 结构。栈的插入操作,叫做进栈,也称压栈,入栈。栈的删除操作,叫做出栈,或叫做弹栈。栈的顺序存储结构及实现既然栈是线性表的特例,那么栈的顺序存储其实也就是线性表顺序存储的简化,称为顺序栈。在栈数据结原创 2020-07-16 22:44:38 · 620 阅读 · 0 评论 -
数据结构:线性表链式存储结构(双向链表) C语言版
双向链表:在单链表中,有了 next 指针,这使得查找下一结点的时间复杂度为 O(1)O(1)O(1) ,可是如果我们查找上一结点的话,那最坏的时间复杂度就是 O(n)O(n)O(n) 了,因为每次都要从头开始遍历查找。双向链表就克服了这一缺陷。双向链表 ( Double Linked List ) 是在单链表的每个结点中,再设置一个指向其前驱结点的指针域。 所以,在双向链表中的结点都有两个指针域,一个指向直接后继,了另一个指向直接前驱。typedef struct _Tag_D_LinkList_N原创 2020-07-12 20:18:04 · 697 阅读 · 0 评论 -
数据结构:线性表链式存储结构(循环单链表) C语言版
循环链表( circular linked list):单链表中终点结点的指针端由空指针改为指向头结点,就使整个单链表形成一个环,这种头尾相接的单链表称为单循环链表,简称循环链表。循环链表的定义:将单链表中最后一个数据元素的next指针指向第一个元素。 循环链表拥有链表的所有操作。循环链表解决了如何从链表当中一个结点出发,访问到链表的全部结点。为了使空链表与非空链表处理一直,通常设一个头结点,当然并不是说,循环链表一定要头节点,这需要注意。循环链表带有头结点的空链表如图:对于非空循环链表如下图:原创 2020-07-12 18:37:53 · 901 阅读 · 0 评论 -
数据结构:线性表链式存储结构(单链表) C语言版
线性链表:线性表的链式存储结构特点是用一种任意的存储单元存储线性表的数据元素(这组存储单元可以是连续的,也可以是不连续的)。这就意味这些数据元素可以存在内存未被占用的任意位置。 元素分布如下图:因此,为了表示每个数据元素 aia_iai 与其直接后继数据元素 ai+1a_{i+1}ai+1 之间的逻辑关系,对数据元素aia_iai 来说,除了存储其本身的信息之外,还需存储一个指示其后继的信息(即直接后继的存储位置)。这两部分信息组成数据元素 aia_iai 的存储映像,称为节点(node)。原创 2020-07-12 12:34:40 · 2917 阅读 · 0 评论 -
数据结构:线性表顺序存储结构 C语言版
线性表的定义:线性表(List): 零个或多个数据元素的有序序列。简而言之,一个线性表是n个数元素的有限序列。至于每个数据元素的具体含义,在不同的情况下各有不同,可以是一个数字或一个符号,也可以是一本书,甚至其他更复杂的信息。线性结构的特点:在数据元素的非空有限集中存在唯一一个被称作“第一个”的数据元素。存在唯一一个被称作“最后一个”的数据元素。除第一个外,集合中的每个元素均只有一个前驱。除最后一个之外 ,集合中的 每个数据元素均只有一个后继。同一线性表中的元素必定具有相同的特性,即属同一数原创 2020-07-12 10:11:01 · 568 阅读 · 0 评论 -
C语言:字符串 -带括号的加减乘除运算
示例代码:#define _CRT_SECURE_NO_WARNINGS#include<stdio.h>#include<stdlib.h>#include<string.h>//去空格 下标方法void space(char* str);//去空格或任意字符 ,指针方法void eatspace(char* str, char ch);...原创 2020-03-21 00:22:44 · 6803 阅读 · 0 评论 -
C 语言:十种排序算法
排序算法排序定义:对一序列对象根据某个关键字进行排序。术语说明:稳定: 如果a原本在b前面,而a=b,排序之后a仍然在b的前面;不稳定: 如果a原本在b的前面,而a=b,排序之后a可能会出现在b的后面;内存排序: 所有排序操作都在内存中完成;外排序: 由于数据太大,因此把数据放在磁盘中,而排序通过磁盘和内存的数据传输才能进行;时间复杂度: 一个算法执行所耗费的时间。空间复...原创 2019-12-28 15:56:07 · 373 阅读 · 0 评论