- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
 - 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
 - 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
 - 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
 - 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
 - 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
 - 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
 
                        查看更多
                        
                    
                青海大学软件技术工程实验七、八、九、十综合实验
                    软件基础基础实验报告
系别:机械工程学院     班级:11材料科学与工程
学号:++++++++      姓名:+++++++++
实验环境:Turbo c++3.0(vc6.0)
实验七、八、九、十综合实验 
实验名称:实验七 线性表的查找算法
实验目的:
掌握线性表的顺序查找算法
掌握有序表的折半查找算法
实验内容:
在顺序存储的长度为n的线性表中顺序查找元素x在表中的下标。备注:需要用到的算法是:serch( )
在头指针为head的线性链表中顺序查找元素x的存储序号。
备注:需要用到的算法是:lserch( )
在顺序存储的长度为n的线性表中对分查找元素x在表中的下标。
备注:需要用到的算法是:bserch()
实验名称:实验八 线性表的交换类排序算法
实验目的:
掌握冒泡排序算法
掌握快速排序算法★
实验内容:
对无序序列P(1:n)进行冒泡排序。
备注:需要用到的算法是:bubsort( )
对无序序列P(m:n)进行快速排序。
备注:需要用到的算法是:qkserch( )
实验名称:实验九 线性表的插入类排序算法
实验目的:
掌握简单插入排序算法
掌握希尔排序算法★
实验内容:
对无序序列P(1:n)进行插入排序。
备注:需要用到的算法是:insort( )
对无序序列P(1:n)进行希尔排序。
备注:需要用到的算法是:shlsort( )
实验名称:实验十 线性表的选择类排序算法
实验目的:
掌握简单选择排序算法
了解堆排序算法★
实验内容:
对无序序列P(1:n)进行简单选择排序。
备注:需要用到的算法是:selsort( )
程序代码:(请写上详细的程序注释!)
//菜单函数、
#includestdlib.h 
#includestdio.h 
#includestring.h
void menu()
{ 
			system(cls);system(color 49);
		printf(------线性表综合实验------\n);
		printf(------请选择要进行的操作------\n);//先加入菜单项 
		printf(\n****** 1 建表******); 
		printf(\n****** 2 插入******);
		printf(\n****** 3 删除******);
		printf(\n****** 4 排序******); 
		printf(\n****** 5 查找******); 
		printf(\n****** 6 输出******);
		printf(\n****** 7 退出******\n);
} 
void input(int *v,int *n)/*输入函数*/ 
{
	int i;
	printf(请输入数据:\n);
	for (i=0;i*n;i++)
		scanf (%d,v+i);//利用指针!
}
void output(int *v,int *n)/*输出函数*/
{
	int i;
	printf(线性表中的元素是:\n);
	for (i=0;i*n;i++)
    printf(%d,*(v+i));
}
int *initsl(int m,int *n)  /*建表*/
{
	int *v;
	v=(int *)malloc(m*sizeof(int));
	*n=0;
	return v;
}
void insl(int *v,int m,int *n,int i,int b)/*插入函数*/
{
	int j;
	if(*n==m)
	{
		printf(list overflow!);
		return;
	}
		if(i*n-1)i=*n;
		if(i1)i=1;
		for(j=*n;j=i;j--)
			v[j]=v[j-1];
		v[i-1]=b;
		*n=*n+1;
		return;
}
 void delsl(int *v,int m,int *n,int i)  /*删除函数*/
 {
	 int j;
	 if(*n==0)
	 {
		 printf(the list is empty!);
			 return;
	 }
	 if(i1||i*n)
	 {
		 printf(the node is not !);
		 return;
	 }
	 for(j=i;j=*n;j++)
		 v[j-1]=v[j];
	 *n=*n-1;
	 return;
 }
void bubsort(int v[],int n)//冒泡排序
{ 
	int m,k,j,i;int d;k=0;m=n-1;
	while (km)  /*子表未空*/
	{ 
		j=m-1;m=0
                
原创力文档
                        

文档评论(0)