自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(12)
  • 收藏
  • 关注

原创 识别图元(Queue)

void Label(){ //初始化围墙 for(int i=0;i {  pixel[0][i]=pixel[m+1][i]=0;  pixel[i][0]=pixel[i][m+1]=0; } // 初始化offset Position offset[4]; offset[0].row=0; offset[0].col=1; // 右 offset[1].row=1; offset[1].c

2005-04-24 20:40:00 992

原创 寻找电路布线最短路径(Queue)

bool FindPath(Position start, Position finish, int& PathLen, Position* &path){ // 寻找从start 到finish 的最短路径 if((start.row==finish.row) && (start.col==finish.col)) {  PathLen=0;  return true; } // 初始化包围网格

2005-04-24 20:38:00 1487

原创 火车车厢重排

用stack 来实现// k个缓冲铁轨,车厢初始排序为 p[1:n]bool Railroad(int p[], int n, int k){ LinkedStack *H; H=new LinkedStack[k+1]; // 下次要输出的车厢 int NowOut=1; // 缓冲铁轨中编号最小的车厢 int minH=n+1; // minH号车厢对应的缓冲铁轨 int minS; // 车

2005-04-24 20:33:00 2702 2

原创 搜索迷宫路径(stack)

// 寻找从位置(1,1)到出口(m,m)的路径int **maze, m;Stack *path;bool FindPath(){ path=new Stack(m*m-1); Position offset[4]; offset[0].row=0; offset[0].col=1; // right offset[1].row=1; offset[1].col=0; // down offse

2005-04-24 20:23:00 1016

原创 开关盒布线(stack)

int net[]={1,2,2,1,3,3,4,4};bool CheckBox(int net[], int n){ Stack *s=new Stack(n); for(int i=0; i {  if(!s->IsEmpty())  {   if((net[i]==net[s->Top()])   {    int x;    s->Delete(x);   }   else    s->

2005-04-24 20:19:00 1645 1

原创 括号匹配(stack)

const int MaxLength=100;void PrintMatchedPairs(char *expr){ Stack s(MaxLength); int j, length=strlen(expr); for(int i=1; i {  if(expr[i-1]==()   s.Add(i);  else if(expr[i-1]==))  {   s.Delete(j); 

2005-04-24 20:13:00 975

原创 汉诺塔(Stack)

class Hanoi{ friend void TowersOfHanoi(int); public:  void TowersOfHanoi(int n, int x, int y, int z); private:  Stack *S[4];};// 把n个碟子从塔X 移到塔Y,可借助塔Zvoid Hanoi::TowersOfHanoi(int n, int x, int y, int z

2005-04-24 20:11:00 822

原创 等价类

int *E;void Initialize(int n){ E=new int[n+1]; for(int i=1;i  E(i)=i;}void Union(int i, int j){ for(int k=1;k  if(E(k)==j)   E(k)=i;}int Find(int i){ return E(i);}void main(){ int i,j; i=Find(a); j=Fi

2005-04-24 20:07:00 842

原创 箱子排序

// 复杂性为n+rangevoid BinSort(Chain& x, int range){ int len=x.Length(); Node X; Chain *bin; bin=new Chain[range+1]; // 分配到每个箱子中 for(int i=1;i {  x.Delete(1, X);  bin[X.score].Insert(0,X); } // 从箱子中收集各元素 

2005-04-24 20:05:00 1182

原创 名次排序

// 计算a[0:n-1]中n个元素的排名void Rank(int a[], int n, int r[]){ int i, j; for(i=0; i  r[i]=0; for(i=0; i  for(j=0; j   if(a[j]    r[i]++;   else    r[j]++;}void Rearrange(int a[], int n, int r[]){ int i; int

2005-04-24 20:00:00 1325

原创 多项式求值

int PolyEval(int coeff[], int n, const int& x){ int y=1; int value=coeff[0]; for(int i=1; i {  y*=x;  value+=y*coeff[i]; } return value;}// horner法则求多项式的值//P(x)=(...(Cn*x+Cn-1)*x+Cn-2)*x+Cn-3)*x+...)*

2005-04-24 19:58:00 970

原创 递归生成n个元素的所有排列方式

通常我们希望检查n个不同元素的所有排列方式以确定一个最佳的排列。比如,a,b,c的排列方式有: abc, acb, bac, bca, cab和cba. N个元素的排列方式共有n!种。//生成list[k:m]的所有排列方式void Perm(char list[], int k, int m) { int i; if(k==m) {  for(i=0;i  {   printf("%c", li

2005-04-24 19:47:00 2113

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除