谢谢Lee.Kevin分享了这篇文章 最近在复习数据结构,想把数据结构里面涉及的都自己实现一下,完全是用C语言实现的。 自己编写的不是很好,大家可以参考,有错误希望帮忙指正,现在正处于编写阶段,一共将要实现19个功能。到目前我只写了一半,先传上来,大家有兴趣的可以帮忙指正,谢谢 在vs2010上面编...
分类:
编程语言 时间:
2014-07-23 14:50:06
阅读次数:
339
Sort ListSort a linked list inO(nlogn) time using constant space complexity.算法思想:时间复杂度为O(nlogn)的排序算法,有快排、归并、堆排序,快排需要往前遍历,因此不适合单链表,堆排序可以,但是需要O(n)的空间,因此...
分类:
其他好文 时间:
2014-07-22 00:03:35
阅读次数:
187
链表是一种在物理存储上非连续,非顺序的存储结构,数据的逻辑关系是通过指针链接次序实现的,链表通过一系列结点组成,结点可以在运行时动态生成。每个结点由两部分组成:数据域和存储下一结点的指针域。链表是一种常见的数据结构。
要想进行链表排序,首先得建立一个单链表,程序代码是由一个数组转化而来,代码如下:
先建立一个结点的结构体:
struct node
{
int val;
node *nex...
分类:
其他好文 时间:
2014-07-21 23:21:43
阅读次数:
339
/*当对单链表理解后,对双链表就好理解多了,单链表就是只有在结构体或者类中只有一个指针用来存储下一个节点的地址,双链表就是在里面有两个指针,一个用来存储上一个节点的地址,一个用来存储下一个节点的地址。这样的链表就叫双链表。*/
#include
using namespace std;
struct Node
{
int a;
Node *prior,*next; ...
分类:
其他好文 时间:
2014-07-21 16:32:55
阅读次数:
218
非常简单,就当练个手吧 1 //单链表逆序问题,其实很容易的,就是把指针指向给变一下,注意的几个问题 2 //(1)如果就一个元素,不算头结点,直接返回 3 //(2)注意头结点最后要单独处理问题 4 #include 5 using namespace std; 6 7 typedef str.....
分类:
其他好文 时间:
2014-07-14 16:05:19
阅读次数:
192
定义头文件
实现栈方法的定义,注意这里用到了全局的静态数组,可以通过这种方式保护数据。
main.c,实现存储
队列
创建头文件queue.h
创建queue.c
实现main函数...
分类:
其他好文 时间:
2014-07-14 11:04:49
阅读次数:
156
将线性表以带头结点的单链表作存储结构,偶数放前,奇数放后;代码如下:#includetypedef struct LNode { int data ; struct LNode *next ;}LNode , *LinkList ;int main() { LinkList...
分类:
其他好文 时间:
2014-07-14 10:34:37
阅读次数:
189
题目来源,待字闺中,原创@陈利人
,欢迎大家继续关注微信公众账号“待字闺中”
原题:两个单链表(singly linked list),每一个节点里面一个0-9的数字,输入就相当于两个大数了。然后返回这两个数的和(一个新list)。这两个输入的list长度相等。 要求是:不用递归;要求算法在最好的情况下,只遍历两个list一次
,最差的情况下两遍
分析:如果链表表示的数是从...
分类:
其他好文 时间:
2014-07-12 23:47:33
阅读次数:
285
Given a linked list, swap every two adjacent nodes and return its head.
For example,
Given 1->2->3->4, you should return the list as 2->1->4->3.
Your algorithm should use only constant space. Y...
分类:
其他好文 时间:
2014-07-12 20:39:17
阅读次数:
225
1 #include 2 #include 3 typedef struct Node 4 { 5 int data; 6 struct Node *next; 7 }Node,*LinkList; 8 9 void initList(LinkList *L)10 {11 ...
分类:
其他好文 时间:
2014-07-12 14:38:30
阅读次数:
201