C语言
乔治的孤独
这个作者很懒,什么都没留下…
展开
-
单链表算法一
本博客涉及的有关单链表的算法清单 1. 链表反转 2. 合并两个有序链表 3. 找出链表的中间结点 4. 求出链表倒数第k个值 5. 删除当前结点 6. 在当前结点前插入一个结点链表反转思路 : 将链表从头节点next域置空,将链表看成两个链表,一个是原链表,从头节点断开,一个是备用的链表,第一个结点是原头结点的next域指向的链表,将备用链表的结点从第一个依次使用...原创 2019-05-19 15:44:08 · 397 阅读 · 1 评论 -
静态链表实现与分析
静态链表给没有指针的高级语言设计的一种实现单链表能力的方法,实现方法使用一个数组的方式储存每一个元素,每个数据元素都是由两个数据域组成,data 和 cur。data表示当前数据域,cur表示当前元素的直接后继所在数组中的位置这个数组用来表示两个链表,一个数据链表,一个备用链表,下图用蓝色表示备用链表,绿色为数据链表实现功能说明初始化以零号下标元素为备用链表指针以一号下...原创 2019-05-13 22:13:24 · 219 阅读 · 0 评论 -
链表(三)-----双向链表
前两篇博客中介绍的链式储存结构中只有一个指示直接后继的指针域。因此,从单链表中的某个结点出发,之能向后遍历每个结点,所寻找这个结点的直接前驱只能向用头结点出。而若在每个结点的指针域中再加入一个指向当前结点直接前驱的指针,就可以克服以上问题。DList.h#pragma once//双向链表,带头节点,头的前驱为NULL,尾的后继为NULLtypedef struct DNode{...原创 2019-05-13 20:58:12 · 173 阅读 · 0 评论 -
链表(二)-----循环链表
循环链表是另一种形式的链式储存结构特点: 表中的最后一个结点的指针域指向头结点,整个链表形成一个环clist.h#pragma once//循环链表,尾节点next保存头节点的地址typedef struct CNode{ int data; struct CNode *next;}CNode,*CList;//初始化void InitList(CList plist...原创 2019-05-13 20:36:54 · 143 阅读 · 0 评论 -
链表(一)------单链表
链表的的特点是用一组任意的储存单元储存线性表的数据元素(储存单元不一定连续)链表的表示形式为了表示每个数据元素与后继元素之间的逻辑关系,除了储存其本身的信息外,使用一个变量存储其直接后继的信息链表由一个个结点组成,每个结点包含数据域和指针域单链表的实现----带头结点List.h#pragma once//带头节点的单链表//单链表的尾节点next为NULLtypedef...原创 2019-05-13 20:27:29 · 182 阅读 · 0 评论 -
顺序表(二)----可动态增长的顺序表的实现
可实现的功能与固定长度的顺序表相同优点,可以扩充空间防止越界//不定长顺序表#pragma once#define INITSIZE 10typedef struct DSeqList{ int *elem;//保存动态内存的地址,用于存放数据 int length;//有效数据个数 int listsize;//总单元个数}DSeqList,*PDSeqList;//...原创 2019-05-13 19:37:17 · 220 阅读 · 0 评论 -
顺序表(一)----定长顺序表的实现
顺序表的顺序指用一组地址连续的储存单元依次存储线性表的数据结构。其结构如下所实现的功能: 顺序表的初始化 顺序表的插入 顺序表删除某一结点 顺序表的查找 顺序表的长度 顺表是否为空 顺序表的清空 顺序表的销毁最简单顺序表—固定的大小SeqList.h#pragma once //预防头文件被重复引用#define SIZE 10typedef struct Se...原创 2019-05-13 19:28:30 · 191 阅读 · 0 评论 -
时间复杂度与空间复杂度
算法的时间复杂度算法的语句执行次数作为算法语句频度或时间频度算法中基本操作重复执行的次数是问题规模为n的某个函数f(n)f(n)f(n),算法的时间度量T(n)=O(f(n))T(n)= O(f(n)) T(n)=O(f(n))表示问题规模n的增长,算法执行时间的增长率和f(n)的增长率相同,称算法的时间复杂度。在下面三个程序中//1 时间复杂度 O(1){ ++ x ; s ...原创 2019-04-09 20:45:35 · 203 阅读 · 0 评论 -
对整数的操作--求这个数的位数、顺序或逆序输出这个数
问题:给与一个整数求这个数是几位数输出每个位上的数逆序输出每一位数原创 2019-04-01 15:51:41 · 281 阅读 · 0 评论 -
进制的运算
进制的运算二进制1. 机器数与真值输入数据后,以二进制的形式储存在计算机二进制的表示形式为机器数带有符号的对应数据称为机器数的真值机器数的特点符号的数值化:规定以最高位为符号位,用0来表示正数,1表示负数计算机中只表示整数或纯小数机器数所表示的数值范围有限2. 二进制原码、反码、补码二进制中正数的原码、反码、补码表示形式相同原码原码实际上是数值化的符号位加上...原创 2019-03-27 14:52:29 · 635 阅读 · 0 评论 -
计算机中的灵魂世界—二进制
计算机中的灵魂世界—二进制一. 进制的简介常见进制二进制八进制十进制十六进制十进制数二进制数八进制数十六进制数000000010001112001022300113340100445010155601106670111778100010891...原创 2019-03-26 13:27:08 · 365 阅读 · 0 评论 -
单链表算法二-----含环的单链表
Node *IsCircle(List plist){ Node *quick = plist; Node *slow = plist; while (quick != NULL && quick->next != NULL) { quick = quick->next->next; slow ...原创 2019-05-19 17:22:56 · 199 阅读 · 1 评论