双向链表的优势在于插入删除不需要移动元素外,可以原地插入删除,可以双向遍历 ...
分类:
编程语言 时间:
2017-04-29 17:31:42
阅读次数:
615
简单说:冒泡就是两两比较,交换位置, 快速就是双向遍历交换位置,知道开始和结束处于同一位置的时候。 直接贴代码: 冒泡: 快速: ...
分类:
编程语言 时间:
2017-04-18 13:55:11
阅读次数:
150
链表的分类:(1)单链表头插法:只需要维护一个头结点即可,常用来模拟堆栈;尾插法:需要维护头结点和尾结点,常用来模拟队列。(2)双向链表双向遍历,可以用来保存网页的历史记录等;(3)循环链表经常出现在面试题中,判断链表是否有环。链表的删除方式一:维护两个指针,current(表示当前节点)和previous(表示当前节点的前一个节点)。当current遍历到要删除的元素时,执行previous->...
分类:
编程语言 时间:
2016-02-24 09:40:15
阅读次数:
222
通常来说,要实现循环双向链表,每个节点需要有两个链域:前驱和后继。现在的问题是:如何设计一种环形表,使表的每个结点只包含一个链域而又能够有效地对其进行两个方向的查找。本文将给出一种实现方式。首先,在给出之前,需要先了解一种有趣的运算,那就是异或运算。异或运算的真值表如下:ABA^B000011101...
分类:
其他好文 时间:
2015-10-24 22:01:34
阅读次数:
264
修改程序清单17.2,使其既能以正序又能以逆序显示电影列表。一种方法修改链表定义以使链表能被双向遍历;另一种方法是使用递归。#include<stdio.h>
#include<stdlib.h>
#include<string.h>
#defineTSIZE45
typedefstructfilm{
chartitle[TSIZE];
intrating..
分类:
其他好文 时间:
2015-06-20 14:26:39
阅读次数:
436
链表是一种数据结构,链表在循环遍历的时候效率不高,但是在插入和删除时优势比较大。链表由一个个节点组成。单向链表的节点分为两个部分:存储的对象和对下一个节点的引用。注意是指向下一个节点。而双向链表区别于单向链表的是它是由三个部分组成:存储的对象、对下一个节点的引用、对上一个节点的引用,可以实现双向遍历...
分类:
编程语言 时间:
2015-06-17 19:41:19
阅读次数:
238
【题目】
Given an array with n objects colored red, white or blue, sort them so that objects of the same color are adjacent, with the colors in the order red, white and blue.
Here, we will use the int...
分类:
其他好文 时间:
2014-10-13 22:00:39
阅读次数:
179