排列问题

全排列的生成算法就是对于给定的字符集,用有效的方法将所有可能的全排列无重复无遗漏地枚举出来。任何n个字符集的排列都可以与1~n的n个数字的排列一 一对应,因此在此就以n个数字的排列为例说明排列的生成法。 n个字符的全体排列之间存在一个确定的线性顺序关系。所有的排列中除最后一个排列外,都有一个后继;除第一个排列外,都有一个前驱。每个排列的后继都可以 从它的前驱经过最少的变化而得到,全排列的生成算法就是从第一个排列开始逐个生成所有的排列的方法。 全排列的生成法通常有以下几种: 字典序法 递增进位数制法 递减进位数制法 邻位交换法 递归类算法 1.字典序法 ...
默认分类 | 2010-05-27 20:46 | 阅读 560 次 | 评论 0 条

数据结构 - - 链队列与循环队列

/链队列//链队列的类型结构定义typedef LinkList QueuePtr;typedef struct { QueuePtr front; QueuePtr rear; int length; }Queue;//构造空队列Qvoid InitQueue(Queue &Q){ Q.front=Q.rear=new ListNode; if(!Q.front) exit(1); Q.front->next=NULL; Q.length=0; } //在队尾插入元素 evoid EnQueue(Queue &Q,DataType...
默认分类 | 2010-05-15 22:00 | 阅读 703 次 | 评论 0 条

迷宫问题

#include<stdio.h>#define M 6#define N 6int maze[M][N]={1,2,1,1,1,1, 1,0,1,0,0,1, 1,0,0,0,0,1, 1,1,0,0,1,1, 1,0,1,0,0,1, 1,1,1,1,3,1};typedef struct list{ int m,n; struct list*next; struct list*back; }node,*pointer;int pass[M][N];int m,n;pointer ptr,preptr,first,p; void Start(){ int i,j;...
默认分类 | 2010-05-13 22:02 | 阅读 504 次 | 评论 0 条

数据结构 - - 栈

栈的类型定义#define INIT_SIZE 100;#define ADD_SIZE 10; typedef struct { SDataType *base; SDataType *top; int stacksize; }SStack; 初始化栈void InitStack(SStack *S){ s->base=(SDataType *)malloc(INIT_SIZE*sizeof(SDataType)); assert(s->base!=NULL); s->top=s->base; s->stacksize=INIT_SIZE; ...
默认分类 | 2010-05-10 22:17 | 阅读 810 次 | 评论 0 条

数据结构 - - 单链表

单链表存储结构typedef char ElemType;typedef struct Listnode{ DataType data; struct ListNode *next; } ListNode,*LinkList;头插法建立单链表int Creatlist(linklist &amp;Head){ Head=(ListNode *)malloc(sizeof(ListNode)); Head->next=NULL; while((ch=getch())!='\n') { p=(ListNode *)malloc(sizeo...
默认分类 | 2010-05-09 20:43 | 阅读 726 次 | 评论 0 条

数据结构--关于顺序表的一些操作

顺序表存储结构#define MAXSIZE 100#define Increment 10typedef int DataType;typedef struct{ DataType *Elem; int length; int listsize;}SeqList;顺序表初始化int InitList(SeqList &amp;L){ L.Elem=(ElemType *)malloc(MAXSIZE*sizeof(DataType)) ; if(!L.Elem) { printf("分配储存空间失败"); return(-1); ...
默认分类 | 2010-05-09 19:57 | 阅读 607 次 | 评论 0 条

简易停车场管理系统

#include "stdio.h"#define STACKSIZE 2struct Car{ char Label; float InTime;};struct StackCar{ struct Car *Top; struct Car *BottomStack; int Size;};int StackInitial(struct StackCar *stackcar){ stackcar->BottomStack=(struct Car *)malloc(STACKSIZE*sizeof(struct Car)); if(!(stackcar->B...
默认分类 | 2010-05-06 21:44 | 阅读 592 次 | 评论 0 条

最新Dev-c++与Allegor平台的搭建方法

最新Dev-c++与Allegor平台的搭建方法 我见论坛上还有好多Allegro初学者在为搭建这种平台而烦恼,有的好不容易搭建好了编译allegro程序又报错,实在是很打击初学者 的热情,为了使更多的人从老掉牙的TC+Graphic转到最新的开源的Dev-cpp+Allegor上来,在此写下详细安装步骤: 前言:有些古老的资料介绍Dev-c++库的安装都是linux中最原始的安装方法,下载源代码后先configure生成 makefile然后make,make install,初学者在windows系统中这样做很容易出错,就像RedHat搞了个RPM,Debian搞...
默认分类 | 2010-05-04 22:32 | 阅读 967 次 | 评论 0 条

几点培养你的领导气质

一:沉稳 (1)不要随便显露你的情绪。 (2)不要逢人就诉说你的困难和遭遇。 (3)在征询别人的意见之前,自己先思考,但不要先讲。 (4)不要一有机会就唠叨你的不满。 (5)重要的决定尽量有别人商量,最好隔一天再发布。 (6)讲话不要有任何的慌张,走路也是。 二:细心 (1)对身边发生的事情,常思考它们的因果关系。 (2)对做不到位的执行问题,要发掘它们的根本症结。 (3)对习以为常的做事方法,要有改进或优化的建议。 (4)做什么事情都要养成有条不紊和井然有序的习惯。 (5)经常去找几个别人看不出来的毛病或弊端。 (6)自己要随时随...
默认分类 | 2010-05-04 22:30 | 阅读 579 次 | 评论 0 条

通讯簿

/*编程建立一通讯簿,存放有姓名、电话号码、住址,然后对通信簿进行查找、添加、修改及删除。*/#include<stdio.h>struct person{ char name[8]; char tel[15]; char addr[50];};char filename[20];FILE *fp;void creat();void output();void search();void append();void modify();void delete();main(){ int m; creat(); while(1) { ...
默认分类 | 2010-05-03 20:31 | 阅读 548 次 | 评论 0 条
浏览11147次
文章分类
最新评论