- 1、本文档共7页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
C语言实验报告之相结构,冒泡法
云南大学数学与统计学实验教学中心
实 验 报 告
课程名称:
数据结构与算法 学期:
20011-2012学年第二学期 成绩: 指导教师: 汪苹 学生姓名:XXX 学生学号:201019100XX 实验名称:顺序结构的应用 实验要求: 必作 实验学时:2学时 实验编号:1 实验日期: 第2周 完成日期:2012-3-15 学院: 数学与统计学院 专业 : 信息与计算科学 年级: 2010级
一、实验目的二、内容
顺序存储结构(数组)的排序问题三、环境
Visual C++;
四
3.程序设计代码及解释:(必须给出必要的程序注解,以保证可读性)
#includestdio.h
#includestdlib.h
typedef struct
{
int *elem;
int length;
}sqlist;
void bubblesort1(int a[],int n) //第一个问题的调用函数
{
int i,j;
int tmp;
for(i=n-1;i0;i--)
{
for(j=0;ji;j++)
{
if(a[j]a[j+1])
{
tmp=a[j];
a[j]=a[j+1];
a[j+1]=tmp;
}
}
}
}
void bubblesort2(int a[],int n) //第二个问题的调用函数
{
int i,j,TURE=1,FALSE=0,change;
for(i=n-1,change=TURE;i=1change;--i)
{
change=FALSE;
for(j=0;ji;++j)
{
if(a[j]a[j+1])
{
a[j]=a[j]^a[j+1];
a[j+1]=a[j]^a[j+1];
a[j]=a[j]^a[j+1];
change=TURE;
}
}
}
}
void bubblesort3(int a[],int n,char flag) //第三个问题排序的调用函数
{
int i,j,TURE=1,FALSE=0,change;
int k;
if(flag==u) k=1;
else k=0;
for(i=n-1,change=TURE;i=1change;--i)
{
change=FALSE;
for(j=0;ji;++j)
{
if(k?a[j]a[j+1]:a[j]a[j+1])
{
a[j]=a[j]^a[j+1];
a[j+1]=a[j]^a[j+1];
a[j]=a[j]^a[j+1];
change=TURE;
}
}
}
}
void Put(int a[],int n) // 输出函数的调用
{
int i;
for(i=0;in;i++)
{
printf(%4d,a[i]);
}
}
main()
{ sqlist list;
int n,s,q;
char flag;
int i;
printf(\nplease input list.length(1~1000): );
scanf(%d,list.length);
list.elem=(int *)malloc((list.length)*sizeof(int));
srand(time(NULL));
for(i=0;ilist.length;i++)
{
list.elem[i]=1+rand()%1000;
}
printf(Before sortting:\n);
Put(list.elem,list.length);
do{
printf(\n******************************************\n\n);
printf(*please choose the way of solving problem: \n*);
printf(*please input n(1~3): \n*);
printf(********************************************\n\n);
scanf(%d,n);
}whil
文档评论(0)