约瑟夫环形问题有30人将其编号,从头开始1,2,3数数,每到3将其删除,一共删去15个数。输出被删去的15个数#includeusing namespace std;struct LinkList{ int val; LinkList* next; LinkList(int a):val(a)...
分类:
其他好文 时间:
2014-07-09 23:43:04
阅读次数:
246
如果在单链表或头指针表示的链表上操作这个比较消耗性能,因为都需要遍历第一个链表,找到an,然后将b1链接到an的后面,时间复杂度是:O(n)。若在尾指针表示的单循环链表上实现,则只需改变指针,无需遍历,时间复杂度是:O(1)
现在看算法实现,需要4个主要步骤,都注释了:
LinkList Connect(LinkList A,LinkList B){
//假设A,B为非空循环链表的尾指针...
分类:
其他好文 时间:
2014-06-29 22:33:08
阅读次数:
319
增强的for循环(也称为foreach循环):不用下标变量,顺序的访问整个数组。不能以其他顺序访问数组,或者改变数组的元素。
for(elementType element: arrayRefVar){}
emement必须声明为与数组中元素相同的数据类型
增强for循环只能用在数组和实现Iterator接口的集合类(Collection以及其子类(hashmap,linklist,...
分类:
其他好文 时间:
2014-06-24 18:31:34
阅读次数:
182
写了一个合并有序链表,代码有点纠结啊,涉及到指针就是麻烦,DS课曹老师课件说linklist是DS的难点。。。
如果数组就很简单了,链表就要小心。
里面遇到的一些情况,第一,最好是先确定l1归到l2还是相反,我是把l1归到L2,返回l2, 而且要先把l2的位置定好,只要比较第一次就可以确定了。否则后面写逻辑那叫一个纠结啊。。。
然后后面比较两个大小,类似于数组归并,prev1,prev1表示...
分类:
其他好文 时间:
2014-06-17 21:55:44
阅读次数:
207
#include#includetypedef struct Node{ int
data; struct Node *next;}LinkList;//就地反转int LinkListRerverse(LinkList
*head){ LinkList *q,*p; p = head->next;...
分类:
其他好文 时间:
2014-06-06 07:35:54
阅读次数:
283
typedef struct node//该结构体代表一个结点{ int data;
//结点的数据域 struct node *next; //结点的指针域}lnode,*linklist;
//定义一个结构体变量和指向结构体的指针//用头插法创建一个链表linklist ...
分类:
其他好文 时间:
2014-06-02 05:50:31
阅读次数:
341
下面是反转一个链表的两种方法:
一、循环算法
// //反转一个链表,循环算法
// LinkList Reverse(LinkList& head)
// {
// // if(!head)
// // return head;
// //此时不用判断head是否为空,如是空的话返回的也是空
// LinkList cur = head;
// LinkList hou;
//...
分类:
其他好文 时间:
2014-05-26 03:20:47
阅读次数:
211
单链表是一种链式存储结构,它可以通过一组任意的存储单元来存储线性表中的数据元素。头文件
声明//// linklist.h// Datastructure//// Created by zhou on 14-5-25.// Copyright
(c) 2014年 zhou. All righ...
分类:
其他好文 时间:
2014-05-25 20:06:02
阅读次数:
227
完全按照海涛哥剑指offer里边的递归思路来写的,基本一样,仅作学习验证,努力锻炼,努力学习!code如下:
//Change a BSTree to a sorted double linklist
struct BSTreeNode
{
int value;
BSTreeNode *left;
BSTreeNode *right;
}head;
//Create a node of...
分类:
其他好文 时间:
2014-05-22 10:23:27
阅读次数:
237
#include
#include
typedef int elemType;
typedef struct Node{//定义单链表节点类型
elemType data;
Node *next;
}Node,*linkList;
//初始化链表,单链表的头指针为空
int initList(linkList &L)
{
L= (Node *)malloc(sizeof(Node));...
分类:
其他好文 时间:
2014-05-21 11:19:08
阅读次数:
228