双向(循环)链表是线性表的链式存储结构的又一种形式。
在之前已经讲述了单向链表和循环链表。相比于单向链表只能从头结点出发遍历整个链表的局限性,循环链表使得可以从任意一个结点遍历整个链表。
但是,不管单向链表也好,循环链表也罢,都只能从一个方向遍历链表,即只能查找结点的下一个结点(后继结点),而不能查找结点的上一个结点(前驱结点)。鉴于上述问题,引入了双向链表。由于双向循环链表包含双向链表的所有...
分类:
其他好文 时间:
2014-05-18 18:43:19
阅读次数:
341
1、算法思想描述: 1)将相邻的两个数进行比较,如果前面的一个大于后面的一个,则将他们交换。每次循环能使一个数达到有序状态。2、时间复杂度: 平均O(n^2)3、实现及优化。以下给出三种实现方式/*
* bubblesort.cpp
*
* Created on: 2014年5月17日
* Author: pc
*/
#include
#include
#inc...
分类:
其他好文 时间:
2014-05-18 15:34:55
阅读次数:
198
题目链接:11270 - Tiling Dominoes
和POJ 2411一样的题目,试着用插头DP写了下
代码:
#include
#include
#include
using namespace std;
int n, m, pre = 0, now = 1;
long long dp[2][2222];
int main() {
while (~scanf("%d%d",...
分类:
其他好文 时间:
2014-05-18 14:44:37
阅读次数:
264
Tour
Time Limit: 1000MS
Memory Limit: 65536K
Total Submissions: 3408
Accepted: 1513
Description
John Doe, a skilled pilot, enjoys traveling. While on vacation, he rents...
分类:
其他好文 时间:
2014-05-18 07:16:45
阅读次数:
385
题目:
输入一个整数n,求从1到n这n个整数的十进制表示中1出现的次数。效率尽可能高。
例如:
f(2)=1
f(12)=5
f(20)=12
f(115)=44
解决方案:
最简单的方法是从1到n循环处理,计算每个数中1的个数,累加起来。这个效率很低。
第二种方法是累加从1到n的所有数的个位十位百位等等上面1的个数,对于32位整数运算次数不超过10次。
int n...
分类:
其他好文 时间:
2014-05-18 04:41:55
阅读次数:
197
#includeint BinarySearch(const int a[],const int
t,int lengh) ///暂时没错的版本,注意middle最好不要直接赋值,因为那样如果找不到,会引起死循环{
printf("%d",sizeof(a));///放到这里输出为4 int s.....
分类:
其他好文 时间:
2014-05-18 02:45:12
阅读次数:
233
使用匿名函数
上面这种方法是使用javascript的匿名函数进行显示,也可以直接循环显示(下面) 1 2 3 4 hello world 5 14 15 16 17 18
19 20
分类:
编程语言 时间:
2014-05-18 02:38:58
阅读次数:
290
>__=100)MyPaint(hdc);
//tPre前次绘图的时间;计算上次绘图到这次循环之间的时间13 } //------------|若相差100个单位进行一次绘图操作,通过这14 } ...
>__300)speed=300;26
SetTimer(hWnd,1,speed,NULL);27 break;28 }29 break;30 case WM_TIMER:31 ...
#include#include#include#includeusing namespace
std;int main(){ int t; string s; cin>>t; while(t--) { cin>>s; int
ls=s.le...
分类:
其他好文 时间:
2014-05-18 00:04:05
阅读次数:
246