node*JosephCircle_OP(node*&phead,size_tdel)//约瑟夫环优化写法{ assert(phead); node*cur=phead,*prev=phead; if(!del)//对参数判断 { printf("errorparameter!"); } while(cur->next!=cur) { for(inti=1;i<del;i++)//先找到删除节点的上一个节点//因为自己占一..
分类:
其他好文 时间:
2015-11-30 02:27:14
阅读次数:
135
1 /* 2 链表节点的插入与删除 3 4 编译环境:VC++ 6.0||VC++2008||...... 5 编译系统:windows 6 */ 7 8 #include 9 #include 10 #include...
分类:
编程语言 时间:
2015-11-04 19:33:25
阅读次数:
278
没事的时候多敲敲代码:#include "stdio.h" #include "stdlib.h" #include "time.h" typedef struct Node{ int data; struct Node *next;}Node,* Linklist;/...
分类:
其他好文 时间:
2015-09-19 15:11:40
阅读次数:
134
给出一个所有元素以升序排序的单链表,将它转换成一棵高度平衡的二分查找树
您在真实的面试中是否遇到过这个题?
Yes
样例
标签 Expand
相关题目 Expand
分析:就是一个简单的递归,只是需要有些链表的操作而已
代码:
/**
* Definition of ListNode
* class ListNode {
*...
分类:
编程语言 时间:
2015-08-08 16:34:16
阅读次数:
195
#include
#include
#include
typedef struct Node
{
int data;//数据域
struct Node * pNext;//指针域
}NODE, * PNODE; //NODE等价于struct Node, PNODE 等价于struct Node *
//函数声明
void create_list(PNODE pHead);//创建一个动态链表
void traverse_list(PNOD...
分类:
编程语言 时间:
2015-06-30 22:10:14
阅读次数:
158
#include
#include
#include
using namespace std;
void Print(int &item)
{
cout<<item<<" ";
}
int main()
{
list listintegers;
list::iterator listiter; //引入迭代器...
分类:
其他好文 时间:
2015-06-27 18:21:52
阅读次数:
128
有初学者给我发了一个题目,求助我解决。题目如下:其实哥也不会C,但就是有一颗热心肠。于是果断研究起。最后解决如下:先上效果图附上代码:// LinkListDemo.cpp : Defines the entry point for the console application.//#includ...
分类:
其他好文 时间:
2015-05-13 19:10:51
阅读次数:
96
循环链表 循环链表(Circular Linked List):是一种头尾相接的链表。其特点是最后一个结点的指针域指向链表的头结点,整个链表的指针域链接成一个环。
从循环链表的任意一个结点出发都可以找到链表中的其它结点,使得表处理更加方便灵活。
循环链表的操作
对于单循环链表,除链表的合并外,其它的操作和单线性链表基本上一致,仅仅需要在单线性链表操作算法基础上作以下简单修改:...
分类:
其他好文 时间:
2015-04-28 18:25:44
阅读次数:
139
本题目是意思是把两个有序的链表合成一个有序的链表,考察了归并算法和链表的操作。
代码也相对比较简单,简单说一下归并函数里三个指针的作用,sum是返回的第一个指针,cur是所要返回的链表里走到的位置,put是对于取到的l1或l2里的某一个指针节点。全部的可运行代码如下:#include
#include
#include
struct ListNode{
int value;
ListNod...
分类:
其他好文 时间:
2015-04-16 17:36:38
阅读次数:
112