一、特点1、表头、表尾,其他元素有且仅有一个直接前驱和直接后继2、任何位置可以插入、删除二、存储方式1、顺序表2、链表(单向链表、双向循环链表)三、具体实现方式1、顺序表问题:用顺序表存储一些正整数,输入正整数表示插入数据(比如输入3表示插入3),输入负整数表示删..
分类:
其他好文 时间:
2015-08-16 00:50:25
阅读次数:
122
Description:Given a singly linked list, determine if it is a palindrome.Follow up:Could you do it in O(n) time and O(1) space?判断一个单向链表是不是回文。思路:最简单的思路就...
分类:
其他好文 时间:
2015-08-13 01:10:19
阅读次数:
116
数据结构之单向链表
例如:现有双向链表OneWayLinked中存储着1,2,3,4四个元素,那么集合对象中会有4个节点A、B、C、D,由上述结构可以知道,节点A中存储着元素1和节点B;节点B中存储着元素2和节点C,节点C中存储着元素3和节点D,节点D中存储着元素4和null。如果现在要在元素2和3中间插入一个元素5;
过程如下:
1、创建节点E,E中存储元素5
2、将B中的下一个节点修改...
分类:
编程语言 时间:
2015-08-12 19:36:30
阅读次数:
111
给定单向链表的头指针和一个结点指针,定义一个函数在O(1)时间删除该结点.链表结点与函数定义如下:
struct ListNode
{
int m_nValue;
ListNode* m_pNext;
};code:
//把待删结点后面一个结点的值赋给待删结点,然后把待删结点next指针指向下下个结点,然后删除下个结点, 达到和删除待删结点一样的效果.void DeleteNod...
分类:
其他好文 时间:
2015-08-12 19:24:00
阅读次数:
112
// 定义链表的数据结构
typedef struct _LINK_NODE{
int data;
struct _LINK_NODE * next;
}LINK_NODE;
//创建一个单向链表
LINK_NODE * create(){
int inputFlag = 1,value;
LINK_NODE *head,*p,*s;
head = (LI...
分类:
其他好文 时间:
2015-08-08 15:03:22
阅读次数:
117
编码实现环状单向链表(尾指针直接指向头指针,中间没有空节点),去除连续的重复元素的操作。
比如:1(头)->2->2->3->3->1->1(头) 去除以后的结果是1->2->3,注意头尾的1也要去掉一个。
//时间复杂度为O(N)
//空间复杂度为O(1)
//代码如下:
#include
#include
#include
#include
#include
#i...
分类:
其他好文 时间:
2015-08-05 22:20:05
阅读次数:
110
//// main.c// dynamic_link_list//// Created by ma c on 15/8/5.// Copyright (c) 2015年 bjsxt. All rights reserved.// 要求:写一个函数建立有3名学生数据的动态单向链表,并输出链表中每个结点...
分类:
编程语言 时间:
2015-08-05 21:52:18
阅读次数:
606
在上一篇文章里我介绍了glib库中单向链表的用法,这篇文章介绍glib库双向链表的用法,还是沿用上一篇文章的风格,采用在代码中加入注释来说明代码,最后贴出程序的运行结果,然后加以少量说明。双向链表与单向链表的区别是,从一个节点,不仅能访问到它的下一个节点,还能访问到它的上一个节点,其定义如下:str...
分类:
其他好文 时间:
2015-08-04 10:58:38
阅读次数:
211
#include#includetypedef struct _ListNode{ int m_nKey; struct _ListNode *m_pNext;}ListNode;//插入节点void InsertNode(ListNode **plistHead, int val){ ListNo...
分类:
其他好文 时间:
2015-08-02 14:58:59
阅读次数:
91
题目: 输入一个链表,输出该链表中倒数第k哥结点。
为了符合大多数人的习惯,本题从1开始计数,即链表的尾结点是倒数第1个结点。
例如一个链表有6个结点,从头结点开始它们的值依次是1,2,3,4,5,6.这个链表的倒数第3个结点是值为4的结点
为了得到第K个结点,很自然的想法是先走到链表的尾端,再从尾端回溯K步。可是我们从链表结点的定义可疑看出本题中的链表 是单向链表,单向链表的结点只有从...
分类:
编程语言 时间:
2015-08-01 17:30:16
阅读次数:
123