线性表
苍之羽
喜欢C语言和Java
展开
-
双向循环链表的实践(C语言+详细注释)
要求:实现用户输入一个数使得26个字母的排列发生变化,例如用户输入3输出结果:DEFGHIJKLMNOPQRSTUVWXYZABC同时需要支持负数,例如用户输入-3,输出结果:XYZABCDEFGHIJKLMNOPQRSTUVW程序代码如下:#include<stdio.h>#include<stdlib.h&amp原创 2019-01-10 20:32:32 · 646 阅读 · 0 评论 -
约瑟夫问题循环链表做法
程序代码如下:#include<stdio.h>#include<stdlib.h>#include<assert.h> #define LEN 41#define NUM 3typedef struct LNode{ int data; struct LNode *next;}LNode; LNode* Creat...原创 2019-01-15 22:33:46 · 539 阅读 · 0 评论 -
数据结构和算法绪论
数据结构和算法绪论数据结构:是一门研究非数值计算的程序设计问题中的操作对象,以及它们之间的关系和操作等相关问题的学科。• 程序设计 = 数据结构 + 算法数据结构就是关系,没错,就是数据元素相互之间存在的一种或多种特定关系的集合。数据类型:是指一组性质相同的值的集合及定义在此集合上的一些操作的总称。• 原子类型:是不可以再分解的基本类型,包括整型、实型、字符型等。• 结构类型:自若干个...原创 2019-01-25 23:45:05 · 235 阅读 · 0 评论 -
将两个有序单链表合并成一个有序单链表的递归做法(C语言)
一程序代码如下:#include&lt;stdio.h&gt;#include&lt;stdlib.h&gt;#include&lt;assert.h&gt;#define LEN 5typedef int Elemtype;typedef struct LNode{ Elemtype data; struct LNode *next;}LNode,*Linkl原创 2019-01-15 19:52:33 · 19734 阅读 · 4 评论 -
设计在单链表中删除值相同的多余结点算法。
程序代码如下所示:#include&lt;stdio.h&gt;#include&lt;stdlib.h&gt;#include&lt;assert.h&gt;#define LEN 10typedef int Elemtype;typedef struct LNode{ Elemtype data; struct LNode *next;}LNode,*Lin原创 2019-01-15 17:21:29 · 23117 阅读 · 4 评论 -
设置顺序表L是个递增的有序表,试写一算法将number插入L中,并使L任是一个有序表。
一、实现算法如下:/*有序顺序表的插入*/void InsertSqlist(Sqlist *L,Elemtype number){ int i; assert(L-&gt;length &lt; L-&gt;Listsize); //创建表的表长大于或等于初始分配量,则无法进行插入,停止程序 for(i=L-&gt;length;i&gt;0&amp;&amp;L原创 2019-01-15 14:57:59 · 17846 阅读 · 1 评论 -
双向循环链表的初始化、构建、插入、删除、表长、及遍历。
一、程序代码如下:#include<stdio.h>#include<stdlib.h>#include<time.h>#define OK 1#define ERROR 0#define LEN 10typedef int Elemtype;typedef int Status;typedef struct ...原创 2019-01-14 17:27:12 · 2439 阅读 · 1 评论 -
循环单链表的初始化、插入、删除、按位遍历、融合、销毁、求节点数等操作(C语言实战题代码详解)
一、循环单链表的抽象数据类型定义:#include&amp;amp;lt;stdio.h&amp;amp;gt;#include&amp;amp;lt;stdlib.h&amp;amp;gt;#define OK 1#define ERROR 0 typedef int Elemtype; //数据类型重定义 typedef int Status;原创 2019-01-13 18:07:53 · 9598 阅读 · 2 评论 -
创建不带头结点的单链表之头插法和尾插法并求节点数(C+详细注释)
一、单链表抽象数据类型定义#include&lt;stdio.h&gt;#include&lt;stdlib.h&gt;#include&lt;time.h&gt;#define OK 1#define ERROR 0#define LEN 10 typedef int Elemtype; //数据类型重原创 2019-01-12 16:02:06 · 8191 阅读 · 1 评论 -
创建带头结点的单链表之头插法和尾插法并求节点数(C+详细注释)
一、单链表抽象数据类型定义:#include&amp;amp;lt;stdio.h&amp;amp;gt;#include&amp;amp;lt;stdlib.h&amp;amp;gt;#include&amp;amp;lt;time.h&amp;amp;gt;#define OK 1#define ERROR 0#define LEN 10typedef原创 2019-01-11 22:57:14 · 3955 阅读 · 0 评论 -
线性表链式存储-初始化、插入、删除、查找、读取操作(C语言)
一、单链表抽象数据类型定义:#include&lt;stdio.h&gt;#include&lt;stdlib.h&gt;#define OK 1#define ERROR 0typedef int Elemtype;//数据类型重定义 typedef int Status;//状态类型重定义 typedef struct LNode{ Elemtyp...原创 2019-01-11 21:20:46 · 11123 阅读 · 3 评论 -
线性表的顺序存储-初始化、插入、删除、查找、读取(C语言)
一、顺序存储的线性表抽象数据类型定义:#include&amp;amp;amp;amp;lt;stdio.h&amp;amp;amp;amp;gt;#include&amp;amp;amp;amp;lt;stdlib.h&amp;amp;amp;amp;gt;#define INIT_SIZE 100 /*线性表初始长度分配量*/ #define INCREMENT 10 /* 线性表存储分配量增量*/原创 2019-01-11 14:26:41 · 14619 阅读 · 2 评论 -
头指针和头结点意义和区别
1、介绍链表中第一个结点的存储位置叫做头指针,那么整个链表的存取就必须是从头指针开始进行了。之后的每一个结点,其实就是上一个的后继指针指向的位置。链式存储时只要不是循环链表,就一定存在头指针。2、头指针和头结点由定义可知头指针指向链表第一个存储位置,当存在头结点时头指针指向头结点,这时如果删除链表中的节点头指针不会改变(头指针不能删除)。当不存在头结点时,头指针指向首结点,如果这时候删除首...原创 2019-01-08 23:09:14 · 21353 阅读 · 8 评论 -
将一个链表按逆序排列,将链头当链尾,链尾当链头。(头插法实现链表的逆置)
一、逆置算法如下:/*头插法实现单链表的逆置*/ LNode* InvertLinklist(LNode *L){ LNode *New=NULL,*p=L,*temp; //New为新链表的头指针,temp为辅助指针 while(p) //若首结点不为空则循环 { temp=p->next; ...原创 2019-01-16 23:42:31 · 3049 阅读 · 0 评论