List模块是linux内核提供的循环链表函数集,头文件是:。
主要数据结构:
struct list_head {
struct list_head *next, *prev;
};
这是一个双向链表。
#define LIST_HEAD_INIT(name) { &(name), &(name) }
#define LIST_HEAD(name) struct ...
分类:
系统相关 时间:
2015-07-16 16:40:10
阅读次数:
169
之前用的是循环链表,java刚学,不知道怎么用链表,用个小算法吧
代码:
import java.util.Scanner;
/**
*
*/
/**
* @author john
* @约瑟夫循环/MonkeyKing
*/
public class MonkeyKing {
/**
* @param args
*/
public static ...
分类:
编程语言 时间:
2015-07-14 13:47:27
阅读次数:
241
java实现循环链表:http://www.cnblogs.com/lixiaolun/p/4643911.html在单链表中,查询下一个元素的时间是O(1)。查询上一个元素的时间却是O(n)。为了克服这种缺点,我们开始学习循环链表。
分类:
编程语言 时间:
2015-07-13 22:25:31
阅读次数:
194
前面已经介绍了java实现单链表:http://www.cnblogs.com/lixiaolun/p/4643886.html其实两者的主要差别就在于如何判断是否到了链表的结尾:在单链表中while(temp.next!=null){ temp=temp.next;}在循环链表中while(tem...
分类:
编程语言 时间:
2015-07-13 22:16:57
阅读次数:
114
基本概念
循环链表的定义:将单链表中最后一个数据元素的next指针指向第一个元素
循环链表拥有单链表的所有操作
创建链表
销毁链表
获取链表长度
清空链表
获取第pos个元素操作
插入元素到位置pos
删除位置pos处的元素
新增功能:游标的定义
在循环链表中可以定义一个“当前”指针,这个指针通常称为游标,可以通过这个游标来遍历链表中的所有元素。
循环链...
软件设计中,最常用的两种数据存储结构就是顺序存储结构和链式存储结构,顺序存储结构中用的最多的便是数组了,而链式存储结构用的比较多的应该是单链表以及它们的变形。 单链表中只有一个指向下一个结点的指针,并且最后一个元素的next指针为NULL;循环链表与单链表的区别就是最后一个指针指向头结点;双向...
分类:
编程语言 时间:
2015-07-11 12:07:22
阅读次数:
131
关于数据结构的一些基本概念。一,线性结构1,顺序表--内存中连续的存储单元 存储单元大小一致,地址连续2,链表--散乱、却不独立 通过指针联系,一个链表单元分为两部分,分别存放数据和下一个链表指针(下一个单元数据地址)。单链表最后一个单元指针为null,循环链表则为第一个单元链表指针。3,栈--先进...
分类:
其他好文 时间:
2015-07-10 18:53:11
阅读次数:
111
/* assume a header *//* 双向循环链表 */struct Node;typedef struct Node * PtrToNode;typedef PtrToNode List;typedef PtrToNode position;struct Node{ PtrToNo...
分类:
其他好文 时间:
2015-07-09 21:26:36
阅读次数:
175
问题描述n个数字(0,1,...,n-1)形成一个圆圈,从数字0开始。每次从这个圆圈中删除第m个数字,然后从被删除的下一个继续删除第m个元素,以此类推。直到最后剩下一个数字,求出该数字。解决思路1. 使用循环链表模拟这一过程,计数器计数;2. 递归思路(图片来源:http://www.cnblogs...
分类:
其他好文 时间:
2015-07-06 12:05:52
阅读次数:
104
(1):问题提出设由n个人站成一个圈,分别编号1,2,3,4….n。从第一个人开始报数每次报数为m的人被从圈中推出,其后的人再次从1开始报数,重复上述过程, 直至所有人都从圈中退出。要求程序由用户输入整数m和n,求这n个人从圈中推出的先后顺序。(2):解决思路可利用链表求解这个问题,先由n形成一个有n个表元组成的环,其中n个表元依次置值1~n。然后,从环的第一个表元出发,连续掠过m-1个表元,第m-...
分类:
其他好文 时间:
2015-07-05 15:07:30
阅读次数:
111