排列问题

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

几点培养你的领导气质

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

跳动的小球

#include<winbgim.h>#include<conio2.h>#include<dos.h>#include<math.h>#include<stdlib.h>#define PI 3.1415926 int A=100;float w=0.04;/*(X,Y)是小球运动轨迹的坐标点*/double Y=0.0,X=10.0;char ch;/*R为球体半径,longitude、latitude分别为半径与经纬线的夹角*/void Ball(float R,int longitude,int latitude){ /*定义旋转变换前点坐标数组x,y,z.以及旋...
默认分类 | 2010-04-29 21:43 | 阅读 536 次 | 评论 0 条

与图形有关的函数

bar【功能】画出一条栏目。【原型】void far bar(int left,int top,int right,int bottom)【位置】graphics.hgraphics.h【参见】bar3d,setfillstyle,rectanglebar3d【功 能】画出一条3-D栏目。【原型】void far bar3d(int left,int top,int right,int bottom,int depth,int topflag)【位置】graphics.h【参见】barcircle【功 能】以(x,y)为圆心按照指定的半径画出一个圆。【原型】void far ...
默认分类 | 2010-04-25 21:03 | 阅读 553 次 | 评论 0 条

成块读写文件

#include<stdio.h>main( ){ FILE *fp; int i; struct rec{ /*定义结构体类型*/ char id[10]; char name[15]; char department[15]; }record; printf("***********************************************************\n"); printf("** This program is to show the block file input &amp...
默认分类 | 2010-03-30 21:57 | 阅读 469 次 | 评论 0 条

格式化读写文件

#include<stdio.h> main(){ FILE *fp; int i; struct rec{ char id[10]; char name[15]; char department[15]; }record; printf("****************************************\n"); printf("This program is to show the format file input &amp; output\n"); printf("********************...
默认分类 | 2010-03-30 21:54 | 阅读 414 次 | 评论 0 条

随机读写文件

#include<stdio.h>#include<stdlib.h>#define NUM 3main (){ FILE *fp1; char *temp; int i,j; struct rec{ char id[10]; char name[15]; char department[15]; }record[NUM]; printf("This programis to show the random file input &amp; out put \n"); if((fp1=fopen("f:\\infile.txt","wb...
默认分类 | 2010-03-30 21:50 | 阅读 455 次 | 评论 0 条

储油问题

一辆卡车欲穿越过1000km的沙漠,卡车耗油为1L/km,卡车总载油能力为500L。显然卡车一次是过不了沙漠的,司机必须设法在沿途设立几个储油点,使卡车能顺利穿越沙漠。试问司机如何建立这些储油点?每一储油点应存多少油,才能使卡车以消耗最少油的代价通过沙漠?#include<stdio.h>#define MAX 32void main(){ int k,i; float wdistance; float storedOil[MAX]; float distance[MAX]; puts("********************************"); puts(" ...
默认分类 | 2010-03-27 11:45 | 阅读 560 次 | 评论 0 条

广度优先搜索及深度优先搜索

#include <stdlib.h>#include <stdio.h> #define MAX_VEXTEX_NUM 9 /* 图中顶点数 */#define ARC_NUM 12 /* 图中弧数 */#define MAX_QUEUEMEM (MAX_VEXTEX_NUM+1)/* 定义描述图的顶点之间连接信息的数组 */int GraphEdge[ARC_NUM * 2][2] = {{0,1},{1,0},{1,2},{2,1},{2,3},{3,2},{3,4},{4,3},{4,5},{5,4},{5,0},{0,5},{0,6},{6,0},{6,8},{8,...
默认分类 | 2010-03-25 19:51 | 阅读 589 次 | 评论 0 条

几种常见的排序方法

#include<stdio.h>/*定义待排序数组的最大长度*/#define MAX 100/*———————————————————————直接插入排序——————————————————————————*/void InsertSort(int *R,int n){ /* 对数组R中的元素R[1]..R[n-1]按递增序进行插入排序*/ int i,j; /*空出哨位R[0]*/ for(i=n;i>=1;i--) R[i]=R[i-1]; /* 依次插入R[2],…,R[n] */ for(i=2;i<=n;i...
默认分类 | 2010-03-21 20:23 | 阅读 623 次 | 评论 0 条
浏览10250次
文章分类
最新评论