比起第一个顺序非循环队列,这个是浪费空间,节约时间版本~
Queue.h:定义了队列的基本操作
#include <iostream>
enum {OK=0,WRONG=-1};
enum {QIS=10,QI=2};
typedef int Elem;
typedef int Status;
typedef struct
{
Elem *base;
int front;
int rear;
int qsize;
}Q[......]
Author Archives: coder4
《数据结构》读书笔记 第三章 非循环顺序队列1
《数据结构》读书笔记 第三章 非循环顺序队列的基本操作(出队列时候移除元素)
Queue.h:头文件,定义了参数和基本操作
#include <iostream>
enum {QIS=10,QI=2};
enum {WRONG=-1,OK=0};
typedef int Elem;
typedef struct
{
Elem *base;
int rear;
int memsize;
}Queue;
typedef int Stat[......]
迷宫问题的递归c++实现
迷宫问题问题描述:把一只小白鼠放入一个迷宫,问能否找到一条路让小白鼠出来。迷宫用数组表示。能通过则给出图……
不同于上次用栈实现,这里的“栈”自动地由系统分配,So……
#include <iostream>
struct Pos
{
int x;
int y;
};
int map[7][7]={{0,0,0,0,0,0,0},{0,1,0,1,1,1,0}[......]
七层汉诺塔的解法
玩汉诺塔疯狂的可以参考一下了
以下是7层汉诺塔的解法:
把1号从a挪动到c
把2号从a挪动到b
把1号从c挪动到b
把3号从a挪动到c
把1号从b挪动到a
把2号从b挪动到c
把1号从a挪动到c
把4号从a挪动到b
把1号从c挪动到b
把2号从c挪动到a
把1号从b挪动到a
把3号从c挪动到b
把1号从a挪动到c
把2号从a挪动到b
把1号从c挪动到b
把5号从a挪动到c
把1号从b挪动到a
把2号从b挪动到c
把1号从a挪动到c
把3号从b挪动到a
把[......]
《数据结构》递归实现汉诺塔
main.cpp:汉诺塔实现。
思路分析:
若n=1,则只需把盘子从a挪动到c
若n>1,
(1)把前n-1个盘子从a经过c挪动到b
(2)把第n个盘子从a挪动到c
(3)把前n-1个盘子从b经过a挪动回c
实现:
#include <fstream>
#include <iostream>
using namespace std;
ofstream fout("out.txt");
void Move(int n,char x,char y[......]