金陵科技学院实验报告
linklist *front,*rear; }linkqueue;
void PALINDROME(linkqueue *q,int j) {
int k; linklist *la,*lb; la=q->front->next; lb=q->rear; for(k=0;k if(la->ch==lb->ch) { la=la->next; lb=lb->prior; } } if(la->ch==lb->ch) { } printf(\该字符序列是回文!\\n\ else { printf(\该字符序列不是回文!\\n\ } void STUNULL(linkqueue *q) { q->front=(linklist*)malloc(sizeof(linklist)); if(q->front==NULL) exit(0); } 金陵科技学院实验报告 q->front->next=NULL; q->front->prior=NULL; q->rear=q->front;} void ENQUEUE(linkqueue *q,char x,int *j) { q->rear->next=(linklist *)malloc(sizeof(linklist)); if(q->rear->next==NULL) exit(0); q->rear->next->ch=x; q->rear->next->prior=q->rear; q->rear=q->rear->next; q->rear->next=NULL; } int main() { linkqueue p; char y; int i=0; STUNULL(&p); printf(\请输入一个字符序列,以'@'结束:\ y=getchar(); while(y!='@') { ENQUEUE(&p,y,&i); y=getchar(); } PALINDROME(&p,i); return 0; } 金陵科技学院实验报告 2. #include #include int *base; int front,rear; }sqqueue; int SETNULL(sqqueue *q) { q->base=(int *)malloc(N*sizeof(int)); if(q==NULL) exit(0); q->front=q->rear=0; return 1; } int ENQUEUE(sqqueue *q,int e) { if((q->rear+1)%N==q->front) return 0; if((e*2)>=(q->base[q->front]+q->base[q->rear-1])) { q->base[q->rear]=e; q->rear=(q->rear+1)%N; } else { q->front=(q->front-1)%N; q->base[q->front]=e; 金陵科技学院实验报告 } printf(\队头元素为:%d,队尾元素为:%d;\ return 1; } void PRINT(sqqueue *q) { int f,r; f=q->front,r=q->rear; while(f!=r) { printf(\ f=(f+1)%N; } printf(\} int main() { sqqueue que; int m,p; SETNULL(&que); printf(\请输入你要插入的元素,以'-1'结束:\\n\ scanf(\ while(m!=-1) { ENQUEUE(&que,m); printf(\顺序循环队列为:\ PRINT(&que); printf(\再次请输入你要插入的元素:\\n\ scanf(\ }
相关推荐: