
SDUTACM
StriveBen
网安小白 会点技术 也会熬点鸡汤 持续学习中 欢迎交流,一起成长 获取本人联系方式以及微信交流群
展开
-
编译原理-翻译布尔表达式
0x01 题目描述Input 多组输入,每组输入为一行字符串,例如: a < b or c < d and e < f每个符号都用空格间隔Output 假链跳到0,真链跳到1,表达式序号从100开始排。Example Input1a < b or c < d and e < fExample Output100(j<,a,b,1)101(j,_,_,102)102(j<,c,d,10原创 2017-12-06 00:23:07 · 5416 阅读 · 0 评论 -
查找练习 hash——出现过的数字
#includeint a[101000];int main(){ int n,p,i,m,k; scanf("%d %d",&n,&p); memset(a,-1,sizeof(a)); for(i=1;i { scanf("%d",&m); if(a[m]==-1) {原创 2016-08-23 09:21:06 · 256 阅读 · 0 评论 -
平方哈希表
开放定址法处理冲突其中,H(key)为哈希函数 m为哈希表长 di为增量序列可有下列3种取法:(1). ,称为线性探测再散列;(2). 称二次探测再散列。(3). di = 伪随机数序列,称伪随机探测再散列。#includeint a[505];int main(){ int n,p,i,j,m,k;原创 2016-08-22 20:29:28 · 334 阅读 · 0 评论 -
希尔排序
#includeint a[10005];int n;void shell(int d){ int i,j,t; for(i=d;i<n;i++) { t=a[i]; for(j=i;j>=d&&a[j-d]>t;j-=d)//减到0为止 { a[j]=a[j-d]; }原创 2016-08-22 17:26:03 · 216 阅读 · 0 评论 -
数据结构实验之排序四:寻找大富翁
用数组来建立树的模型,每次要从m/2开始;#includeint a[11];void dun(int s,int m){ int l=s; int ll=2*s; int lr=2*s+1; int h; if(s<=m/2) { if(lla[ll]) { l=ll; }原创 2016-08-22 14:56:44 · 270 阅读 · 0 评论 -
数据结构实验之排序五:归并求逆序数
#include#includeint a[100001],t[100001];long long num;void sort(int b1,int e1,int b2,int e2){ int p=0,p1=b1,p2=b2; while(p1 { if(a[p1] { t[p++]=原创 2016-08-22 14:46:23 · 337 阅读 · 0 评论 -
求二叉树的深度
#include#includeusing namespace std;typedef struct no{ char data; struct no *lc,*rc;} node;char a[50],b[50];node *creat(char *x,char *z,int k){ node *p; p=new node; if(k==0原创 2016-08-09 20:25:32 · 222 阅读 · 0 评论 -
数据结构实验之求二叉树后序遍历和层次遍历
#include#include#include#includeusing namespace std;typedef struct no{ char data; struct no *lc,*rc;} node;int i=0;char a[500],b[500];node *creat(char *a,char *b,int k){ int m;原创 2016-08-09 11:10:39 · 250 阅读 · 0 评论 -
数据结构实验之二叉树的建立与遍历
#include#includetypedef struct no{ char data; struct no *lc,*rc;}node;int l=0,k=0;char a[50];node *creat(){ node *p; char c; c=a[l++]; if(c==',') { return N原创 2016-08-08 19:27:17 · 237 阅读 · 0 评论 -
n a^o7 !
#includechar a[]="n5!wpe^o7au";char b[]="usimdavolen";int main(){ int t; char s[101]; scanf("%d\n",&t); for(int k=1;k<=t;k++) {gets(s); int l=strlen(s); for原创 2016-08-19 15:58:57 · 488 阅读 · 0 评论 -
数据结构实验之图论六:村村通公路
#include#define inf 0x3f3f3f3fint road[1005][1005];int visit[1005];int cost[1005];int n,m,total;int prime(){ int i,j,k,t,f; visit[1]=1; for(i=1;i<=n;i++) { cost[i]=road[i][1]; } f原创 2016-08-19 15:57:52 · 589 阅读 · 0 评论 -
图结构练习——BFS——从起始点到目标点的最短步数
#includeusing namespace std;typedef struct no{ int data; int step;} node;int num[2000][2000],visit[10010];int bfs(int b,int k){ node t,f; int i; queue q; t.data=b;原创 2016-08-19 15:57:03 · 241 阅读 · 0 评论 -
最小生成树
#includeusing namespace std;int fi[105],num;typedef struct no{ int u,v,q;}node;node a[10005];int cmp(node d,node b){ return d.q<b.q;}int find(int n){ while(n!=fi[n]) {原创 2016-08-19 15:53:52 · 231 阅读 · 0 评论 -
选课名单
#includeusing namespace std;struct no{ char name[15];}a[35005][2005];char st[15];int cou[2500];int cmp(no a,no b){ return strcmp(a.name,b.name)<0;}int main(){ int n,m,i,j,k,t;原创 2016-08-23 09:29:42 · 380 阅读 · 0 评论 -
一趟快排
#include#includeint num[10005];int quicksort(int l,int r){ int i,j,k; if(l>r) return 0; k=num[l]; i=l; j=r; while(i<j) { while(num[j]>=k&&i<j) {原创 2016-08-23 09:30:18 · 507 阅读 · 0 评论 -
找女朋友
#include int a[1000005] ; int part (int *p ,int b ,int e) { int key ; key = p[b] ; while(b < e) { while (b = key) { e -- ;原创 2016-08-23 09:30:50 · 313 阅读 · 1 评论 -
编译原理-词法分析程序1
0x00 前言最近在学编译原理,一个简单的词法分析程序。0x01 题目描述小C语言文法 1. <程序>→(){<声明序列><语句序列>}2. <声明序列>→<声明序列><声明语句>|<声明语句>|<空>3. <声明语句>→<标识符表>;4. <标识符表>→<标识符>,<标识符表>|<标识符>5. <语句序列>→<语句序列><语句>|<语句>6. <语句>→< if语句>|< while语原创 2017-12-05 13:29:45 · 697 阅读 · 0 评论 -
进制转换(栈)
#include#includetypedef struct{ int data[10025]; int top; int base;} seqstack;seqstack s;void seqstackinit(seqstack *s){ s->top=0; s->base=0;}void seqstackpush(seqstack &s,int k){ s.data[s.top]=k; s.t原创 2016-07-28 19:37:35 · 314 阅读 · 0 评论 -
面向对象程序设计上机练习七(类和对象)
#include using namespace std;class sss{ public:int a[3]; void sort(); void display();};void sss::sort(){int t,i,j; for(i=0;i<2;i++) { for(j=0;j<3-原创 2016-09-23 08:50:04 · 428 阅读 · 0 评论 -
一趟快排
#include#includeint num[10005];int quicksort(int l,int r){ int i,j,k; if(l>r) return 0; k=num[l]; i=l; j=r; while(i<j) { while(num[j]>=k&&i<j) {原创 2016-08-15 11:30:27 · 255 阅读 · 0 评论 -
SDUT完美网络
用优先队列做,凡是小于2的度进入队列。第一组数据有点问题。#include#include#include#includeusing namespace std;int net[10005];int main(){ int t,i,n,m,x,y,a,b,num,k; priority_queue,greater > q; scanf("%d",&t);原创 2016-08-15 10:57:31 · 429 阅读 · 1 评论 -
平衡二叉树
#include #include #include using namespace std;typedef struct bitnode{ int data; int d; struct bitnode *lchild, *rchild;}* bitree;int deep(bitree &t){ if(!t) return -1原创 2016-08-13 16:57:11 · 216 阅读 · 0 评论 -
二分查找
#includeusing namespace std;int num[1000005];int erfen(int l,int r,int key){ int mid=l+(r-l)/2; if(l<=r) { if(num[mid]==key) { return mid; } else {原创 2016-08-13 14:44:35 · 214 阅读 · 0 评论 -
树-堆结构练习——合并果子之哈夫曼树
#includeusing namespace std;int bb[1000];priority_queue,greater > q;int main(){ int n,i,lc,m; scanf("%d",&n); memset(bb,0,sizeof(bb)); for(i=0; i<n; i++) { scanf("%d",原创 2016-08-12 19:19:34 · 466 阅读 · 0 评论 -
数据结构实验之二叉树六:哈夫曼编码
#includeusing namespace std;string st;int bb[1000];priority_queue,greater > q;int main(){ int i,la,lc; while(cin>>st) { la=8*st.size(); memset(bb,0,sizeof(原创 2016-08-12 16:03:17 · 258 阅读 · 0 评论 -
数据结构实验之查找三:树的种类统计
#includeusing namespace std;typedef struct no{ char data[25]; int num; struct no *lc,*rc;}node;int n;node *creat(char *n){ node *p; p=new node; p->num=1; strcpy(p->d原创 2016-08-11 19:41:41 · 350 阅读 · 0 评论 -
数据结构实验之查找一:二叉排序树
#includeusing namespace std;typedef struct no{ int data; struct no *lc,*rc;}node;node *creat(int n){ node *p; p=new node; p->data=n; p->lc=NULL; p->rc=NULL; retur原创 2016-08-11 16:40:14 · 466 阅读 · 0 评论 -
线性哈希
#includeint a[1010];int main(){ int n,p,i,m,j,k; while(~scanf("%d %d",&n,&p)) { memset(a,-1,sizeof(a)); for(i=1;i<=n;i++) { scanf("%d",&m);原创 2016-08-23 09:28:20 · 358 阅读 · 0 评论 -
图结构练习——最短路径
#include#define inf 0x3f3f3f3fint a[101][101];int main(){ int n,m,i,j,k,u,v,q; while(~scanf("%d %d",&n,&m)) { memset(a,0,sizeof(a)); for(j=0; j<=n; j++) {原创 2016-08-19 15:52:55 · 258 阅读 · 0 评论 -
AOE网上的关键路径 (SPFA+前向星)
AOE网上的关键路径Time Limit: 1000MS Memory limit: 65536K题目描述 一个无环的有向图称为无环图(Directed Acyclic Graph),简称DAG图。 AOE(Activity On Edge)网:顾名思义,用边表示活动的网,当然它也是DAG。与AOV不同,活动都表示在了边上,如下图所示:转载 2016-08-19 11:22:02 · 445 阅读 · 0 评论 -
串连接
#include#include#includetypedef struct{ char *ch; int length;}str;int i,j;char a[200],b[200];void strassign(str &t,char *s){ char *c; if(t.ch) { t.ch=NUL原创 2016-08-03 19:22:08 · 1766 阅读 · 0 评论 -
串匹配
#include#include#includeusing namespace std;char a[110],b[110];int main(){ while(~scanf("%s",a)) { scanf("%s",b); if(strstr(a,b)) printf("YES\n");原创 2016-08-03 19:21:11 · 286 阅读 · 0 评论 -
数据结构实验之栈五:下一较大值(一)
#include#includetypedef struct{ int data[100250]; int top; int base;} seqstack;seqstack s;void seqstackinit(seqstack *s){ s->top=0; s->base=0;}vo原创 2016-07-29 21:32:21 · 316 阅读 · 0 评论 -
数据结构实验之栈二:一般算术表达式转换成后缀式(栈)
#include#include#includetypedef struct no{ char *data; int base; int top;}node;char ch[105];void csh(node &s){ s.data=(char *)malloc(105*sizeof(char)); s.base=原创 2016-07-29 20:20:46 · 346 阅读 · 0 评论 -
数据结构实验之栈四:括号匹配(有点麻烦了,凑合看吧)
#include#include#include#define stsize 55typedef struct no{ char *data; int base; int top;}node;node stack1;char s[51];void csh(node &st){ st.data=(char *)mallo原创 2016-07-29 14:48:04 · 266 阅读 · 0 评论 -
顺序表应用1:多余元素删除之移位算法
链表做法#include#include#includetypedef struct no{ int data; struct no *next;} node;node *creat(int n){ node *head,*p,*tail; head=(node *)malloc(sizeof(node)); hea原创 2016-07-27 14:54:52 · 517 阅读 · 0 评论 -
链表删除重复元素
#include#include#includetypedef struct no{ int data; struct no *next;}node;node *creat(int n){ node *head,*p,*tail; head=(node *)malloc(sizeof(node)); head->next原创 2016-07-27 14:33:43 · 360 阅读 · 0 评论 -
有序顺序表归并(顺序表做法)
#include#include#includetypedef int elemtype;typedef struct{ elemtype *elem; int length; int listsize;} sq;int sqlist(sq *l){ l->elem=(elemtype *)malloc(20005*sizeo原创 2016-07-27 10:44:09 · 747 阅读 · 0 评论 -
C语言实验——整数位(用顺序表)
#include#include#includetypedef int elemtype;typedef struct{ elemtype *elem; int length; int listsize;}sq;int sqlist(sq *l){ l->elem=(elemtype *)malloc(5*sizeof(ele原创 2016-07-26 21:28:25 · 821 阅读 · 0 评论 -
顺序表应用1:多余元素删除之移位算法
类似新建表但没有建新表。#include#include#includetypedef int elemtype;typedef struct{ elemtype *elem; int length; int listsize;}sq;int sqlist(sq *l){ l->elem=(elemtype *)mallo原创 2016-07-26 20:21:07 · 855 阅读 · 0 评论