摘要:
int match(char a[],int n)
{ char sq[maxSize]; int top=-1; for(int i=0;i<n;i++) { if(a[i]=='(') sq[++top]=a[i]; if(a[i]=='[') sq[++top]=a[i]; if(a[i]==')') { if(top==-1) return 0; if(sq[top]=='(') --top; } if(a[i]==']') { if(top==-1) return 0; if(sq[top... 阅读全文
摘要:
转载自董的博客1. 前言本文介绍了常用的排列组合算法,包括全排列算法,全组合算法,m个数选n个组合算法等。2. 排列算法常见的排列算法有:(A)字典序法(B)递增进位制数法(C)递减进位制数法(D)邻位对换法(E)递归法介绍常用的两种:(1) 字典序法对给定的字符集中的字符规定了一个先后关系,在此基础上按照顺序依次产生每个排列。[例]字符集{1,2,3},较小的数字较先,这样按字典序生成的全排列是:123,132,213,231,312,321。生成给定全排列的下一个排列 所谓一个的下一个就是这一个与下一个之间没有字典顺序中相邻的字符串。这就要求这一个与下一个有尽可能长的共同前缀,也即变化限制 阅读全文
摘要:
这两道题答案我觉得太复杂笔译理解我做的方法很容易理解而且简单//寻找倒数第k个
int count=0;
void LocateE(LNode *&L,int k)
{ if(L->next!=NULL) { LocateE(L->next,k); count++; if(count==k) { printf(" 倒数第%d个位置是%d",k,L->next->data); } }
}
//数据结构高分笔记 第二章 综合应用第二题 void move(int a[],int n,int p)
{ int temp; for(int i=0;i 阅读全文