《算法与数据结构》课程设计

发布 2022-10-01 22:44:28 阅读 3695

一、约瑟夫问题。

1.算法及数据结构。

由于约瑟夫问题是将x个人围坐一圈,所以采用单循环链表实现,又由于报数时间可能循环到开始,所以采用不带头结点的循环链表结构。

1)在不带头结点的循环链表中查找第y个结点,用p作为第y个节点的指针。

2)每一次都是y的倍数的结点出栈,直到循环到最后一个结点为止。

2.源程序。

#include""

#include""

typedef struct node

int data;

struct node *next;

lnode;//定义循环单链表。

lnode *create(int x)

r->next=h;

return h;//建立偱环单链表。

void jeseph(lnode *p,int y)//y个节点。

lnode *q;

int j=0;

printf("outqueue order:")

do p=p->next;

while(p->next!=p);

printf("%d",p->data);

free(p);

void main()/主函数。

lnode *h;

int y,x;

printf(" input x,y=")

scanf("%d,%d",&x,&y);

h=create(x);

jeseph(h,y);

//凡是报到y的数出来。

3.测试结果。

二、表达式求值。

1.算法及数据结构。

1)首先置操作数栈为空栈,表达式起始符“#”为运算符栈的栈底元素;

2)依次读入表达式中每个字符,若是操作数则进operand,若是运算符则和operator栈的栈顶运算符比较优先权后作相应操作,直至整个表达式求值完毕(即operator栈的栈顶元素和当前读入的字符均为“#

2.源程序。

#include<>

#include<>

#include<>

#include<>

#define max_size 256

enum bool;

typedef struct tagoperate;

static int outpriority=

int locate(char ch)

int i=0;

for(i=0;operator[i]!=0';i++)

if(operator[i]==ch)

return i;

return -1;

int isp(char ch)

if('a'<=ch&&'z'>=ch)

return 9;

elsereturn inpriority[locate(ch)];

int icp(char ch)

if('a'<=ch&&'z'>=ch)

return 8;

elsereturn outpriority[locate(ch)];

void _proc(char*src)

char buffer[max_size];

char*p=src,*q=buffer;

*q++=p++;

while('\0'!=p)

*q='\0';

strcpy(src,buffer);

void srcfunproc(char*src)

char buffer[max_size];

char*p=src,*q=buffer;

while(*p!='0')

*q='\0';

strcpy(src,buffer);

void postsrc(char*src,lpoperate lpoperator)

char *p=src,y;

lpoperate lpoptr=lpoperator;

char stack[max_size];

int top=-1;

double operand;

int offset=0;

stack[++top]='#

while('\0'!=p)

elseif('x'==p)

lpoptr++)operator='x';

p++;else

if('p'==p)

lpoptr->operand=3.14159266;

p+=2;lpoptr->operator=0;

lpoptr++;

elsefor(y=stack[top--]isp(y)>icp(*p);y=stack[top--]

lpoptr++)operator=y;

stack[++top]=y;

stack[++top]=*p++;

while(top!=-1)

(lpoptr++)operator=stack[top--]

int isdigit(char ch)

算法与数据结构课程设计

编号 120 说明书。进销存货物管理系统。学院 计算机科学与工程学院 专业 计算机科学与技术 学生姓名。学号。指导教师。2016年 6 月 26 日。摘要。本课程设计报告系统地阐述了我使用c 编写的进销存货物管理系统。首先,我对系统进行一个简要的概述。然后,我就系统的需求进行了详细的分析,这是设计工...

算法与数据结构课程设计报告

福建工程学院软件学院。题目。专业。姓名。学号。同组其他学生 学号。2015年月日。目录。一 需求分析 3 二 总体设计 3 三 详细设计 3 四 调试与测试 3 五 测试结果 3 六 用户手册 3 七 附录 3 描述问题。简述课题要解决的问题是什么,有什么要求和限制条件。二 总体设计。必须包含程序设...

《数据结构与算法课程设计》报告

你一定要坚强,即使受过伤,流过泪,也能咬牙走下去。因为,人生,就是你一个人的人生。命运如同手中的掌纹,无论多曲折,终掌握在自己手中。数据结构与算法课程设计 harbin institute of technology 数据结构与算法。课程设计报告。2014年度秋季学期 设计题目。小组成员 11337...