我在前面几篇博客中《C语言实现链表节点的插入》《C语言实现链表节点的删除》《C实现头插法和尾插法来构建链表》《C语言实现链表的基本操作》实现了链表的很多增删改查操作。这里我们要来实现链表的逆序打印,使用C来实现。代码上传至 https://github.com/chenyufeng1991/ReverseLinkedList 。 基本算法是:(1)使用尾插法构建原链表;(2)依次遍历原...
分类:
编程语言 时间:
2016-02-26 14:19:58
阅读次数:
315
链表的构建其实也就是不断插入节点的过程。而节点的插入可以分为头插法和尾插法。头插法就是在头结点后插入该节点,始终把该节点作为第一个节点。尾插法就是在链表的最后一个节点处插入元素,作为最后一个节点。如果想要了解链表的概念和其他链表操作,请参考《数据结构与算法之链表》《C语言实现链表的基本操作》两篇文章。示例代码上传至 https://github.com/chenyufeng1991/HeadIn...
分类:
其他好文 时间:
2016-02-25 13:55:51
阅读次数:
175
题目:Sort a linked list using insertion sort.思路:插入排序是一种O(n^2)复杂度的算法,基本想法相信大家都比较了解,就是每次循环找到一个元素在当前排好的结果中相对应的位置,然后插进去,经过n次迭代之后就得到排好序的结果了。了解了思路之后就是链表的基本操作了...
分类:
其他好文 时间:
2016-01-21 00:16:53
阅读次数:
183
线性表的基本操作共有十二个。我们通过对线性表基本操作的有机组合,可以处理较为复杂的线性表。一、初始化顺序线性表——构造一个空的顺序线性表 1 void InitList(SqList &L) 2 { 3 L.elem = (ElemType*)malloc(LIST_INIT_SIZE...
分类:
其他好文 时间:
2016-01-14 22:08:26
阅读次数:
369
在用C#进行Winform开发的时候,会涉及对注册表的操作。主要用到Registry、RegistryKey类,在Microsoft.Win32命名空间下。Regisgtry对象包含注册表常用5个键的管理,根据静态属性获得各键的RegistryKey对象,通过RegistryKey对象进行键值的增删...
分类:
Web程序 时间:
2016-01-10 20:00:08
阅读次数:
287
今天实现了下链表的基本操作,包括节点的创建,头插尾插,头删尾删,一次遍历寻找链表的中间节点,寻找链表的倒数第x个节点,删除无头链表的非尾节点,链表的逆置,代码如下:#include"SLinkList.h"
#include<stdlib.h>
#include<stdio.h>
#include<assert.h>..
分类:
编程语言 时间:
2016-01-03 00:47:07
阅读次数:
347
顺序表是线性表中的一种重要的数据结构,也是最基础的数据结构,今天我用C语言实现下线性表的基本操作,以及冒泡排序与选择排序在线性表中的算法实践,代码如下:seqlist.h:#ifndef__SEQLIST__
#define__SEQLIST__
#defineMAX5
#include<stdlib.h>
typedefintDataType;
t..
分类:
编程语言 时间:
2015-12-31 21:11:14
阅读次数:
238
问题:只给定单向列表中的一个节点,从列表中删除该节点。 删除列表的某个元素,只知道根据头节点,和待删节点值,遍历搜索到相同值,将其删除。对于给定节点从列表中删除,没有思路。在网上看了讲解,原来这个是列表的基本操作,O(1) 时间即可完成。看了
分类:
其他好文 时间:
2015-12-31 01:39:29
阅读次数:
130
串的逻辑结构和线性表相似,区别仅为串的数据对象约束为字符集串的基本操作和线性表有很大差别,线性表的基本操作中大多以的“单个元素”作为操作对象;而串的基本操作中通常以“串的整体”作为 操作对象串的表示:1、定长顺序存储表示: 超过预定义长度的串值则被舍弃,称为“截断” 对串长的表示方法:在下标...
分类:
其他好文 时间:
2015-12-15 06:27:45
阅读次数:
188
#include#define MAXSIZE 100//顺序表的结果定义typedef struct{ int data[MAXSIZE]; int num;}SeqList; //建立顺序表void CreateSeqList(SeqList *S){ S->num = 0;}...
分类:
其他好文 时间:
2015-12-10 23:29:09
阅读次数:
251