| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 2271 人关注过本帖
标题:数据结构课程设计,求助~~~~
只看楼主 加入收藏
rockfrog
Rank: 1
等 级:新手上路
帖 子:5
专家分:0
注 册:2005-5-27
收藏
 问题点数:0 回复次数:5 
数据结构课程设计,求助~~~~
表达式解析器 要求:程序能完成整数或实数的+,-,*,/,%,^(乘方)等运算,并能用括号()来改变优先级,对输入的表达式要求可以进行一定的错误检查(如括号匹配检查,表达式的合法性检查,数值数据合法性检查等。 扩展内容:(1)可以在表达式中增加变量或函数 (2)把中缀表达式变成后缀表达式
搜索更多相关主题的帖子: 数据结构 课程 括号 合法性 变量 
2005-07-07 11:27
sky02999135
Rank: 1
等 级:新手上路
帖 子:1
专家分:0
注 册:2005-12-26
收藏
得分:0 
111

#include<stdio.h>
#include<conio.h>
seq_search()
{
int a[10],i,k;
printf("please input ten number");
for(i=0;i<10;i++)
scanf("%d",&a[i]);
printf("please input the key for search");
scanf("%d",&k);
for(i=0;i<10;i++)
{
if(a[i]==k)
{printf("sucess!the number is %d",i+1);
return(0);}
printf("failure");
return(0);}}


half_search()
{
int mid,low,high;
int b[10],m,key,h;
printf("please input ten number:");
for(m=0;m<10;m++)
scanf("%d",&b[m]);
printf("please input the key for search:");
scanf("%d",&h);
low=0;
high=9;
while(low<=high)
{mid=(low+high)/2;
if(b[mid]>h) high=mid-1;
else {if(b[mid]<h) low=mid+1;
else {printf("sucess!");
return(0);}
}
}
printf("failure!");
}
main()
{
int a[10],k,i;
clrscr();
printf("1.seq_search;");
printf("2.half_search;");
printf("please input your choice:1 or 2");
scanf("%d",&i);
if(i==1) seq_search();
else half_search();
}

2005-12-26 10:51
我已入魔
Rank: 1
等 级:新手上路
帖 子:4
专家分:0
注 册:2005-12-26
收藏
得分:0 

1、运算器

问题描述:加减乘运算器。

求:使用给定文件进行输入输出,必须采用双向链表实现任意位数的正负整数或小数的加法、减法和乘法运算。每个结点存储一位数字。算出的结果若是小数,整数部分的高位若为0要去掉,小数部分的低位若为0要去掉,若0085.56700,最后结果应为85.567

文件说明:给定的文件a*.txt为第一个数,b*.txt为第二个数,要求加法产生的结果存储在add*.txt中,减法产生的结果存储在sub*.txt中,乘法产生的结果存储在mul*.txt中,*为对应的一组数据,共给出十组数据。并提供十组加减乘结果,供大家对照参考。

2、排序算法验证及评价

问题描述:排序器

求:实现以下六种排序算法,将给定的不同规模大小的数据文件(data01.txtdata02.txtdata03.txtdata04.txt)进行排序,并将排序结果分别存储到sorted01.txtsorted02.txtsorted03.txtsorted04.txt文件中。

1)、Shell排序; 2)、Quick排序

3)、锦标赛排序; 4)、堆排序

5)、归并排序; 6)、基数排序

在实现排序算法1~4)时,统计数据元素比较的次数和交换的次数,进而对这四种算法在特定数据条件下的效率进行分析和评判。

不知道这个有谁帮我搞一下啊?


I have a dream that one day I can help others doing C and data !!!!!!!!!
2005-12-27 19:40
飞翔的心
Rank: 1
等 级:新手上路
帖 子:2
专家分:0
注 册:2005-12-28
收藏
得分:0 
好难的啊!

2005-12-28 15:10
high20033763
Rank: 1
等 级:新手上路
帖 子:85
专家分:0
注 册:2006-2-13
收藏
得分:0 
麻烦啊
2006-02-16 19:46
subway2008
Rank: 1
等 级:新手上路
帖 子:34
专家分:0
注 册:2006-3-15
收藏
得分:0 

堆排序
#include<stdlib.h>
#include<time.h>
#include<bios.h>
#include<stdio.h>
#include<alloc.h>
#include<math.h>
#define N 20
#define NUM 32749
long ran()
{static long a=203;
a=(a*100001+19)%18307;
return a;
}
long nr()
{float sum,jrad,radn[N],nrand;
int i;
srand((unsigned)(time(NULL)+ran()));
sum=0.0;
for(i=0;i<N;i++)
{jrad=(float)(rand()%NUM)/NUM;
radn[i]=2*jrad;
sum+=radn[i];
}
nrand=sum*sqrt(3.0/N);
return (long)nrand*random(1000);
}
void heapadjust(long huge *r,long s,long m)
{long rc,j;
rc=r[s];
for(j=2*s;j<=m;j=j*2)
{if(j<m&&r[j]<r[j+1]) j++;
if(rc>=r[j]) break;
r[s]=r[j];s=j;
}
r[s]=rc;
}

void heapsort(long huge *r,long n)
{long temp,i;
for(i=n/2;i>0;i--)
heapadjust(r,i,n);
for(i=n;i>1;i--)
{temp=r[1];
r[1]=r[i];
r[i]=temp;
heapadjust(r,1,i-1);
}
}
main(int argc,char *argv[])
{long huge *r;
long tm1,tm2,tm0,n,i,j,k=0,y,n0;
n=atol(argv[1]);
n=n>1?n>150000?150000:n:2;
clrscr();
if((r=(long huge *)farcalloc(n+1,4))==NULL) {printf("\nToo much datas!--r");exit(1);}
tm0=0;n0=3;
for(k=0;k<n0;k++)
{for(i=1;i<=n;i++) r[i]=nr()*nr();
tm1=biostime(0,0);
heapsort(r,n);
tm2=biostime(0,0)-tm1;tm0=tm0+tm2;
/*for(i=1;i<=n;i++)
printf("%10ld",r[i]);
printf("\n");*/
printf("\nN=%ld heapsorting time: %10.4f(s)",n,tm2/18.2);
}
printf("\nN=%ld\n heap--avertime: %10.4f(s)\n",n,(float)tm0/n0/18.2);
}



世界之所以精彩,是因为有我的存在 我的Email:subway2008@
2006-03-15 13:19
快速回复:数据结构课程设计,求助~~~~
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.022043 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved