一、题目:排序算法应用二(直接法、插入法、shell排序)

来源:百度知道 编辑:UC知道 时间:2024/05/06 02:37:40
一、题目:排序算法应用二(直接法、插入法、shell排序)
二、目的与要求
1. 目的:
通过排序算法的设计,培养学生综合利用C++语言进行程序设计的能力,加强函数的运用及学生对软件工程方法的初步认识,提高软件系统分析能力和程序文档建立、归纳总结的能力,掌握排序算法,使学生能够解决信息管理系统中的一些问题。
2. 基本要求:
(1)要求用C++语言编程,在Visual C++环境下调试完成;
(2)要求各个功能分别使用函数来完成;
(3)分析算法的时间复杂度和空间复杂度。
三、设计方法和基本原理
1. 课题功能描述
课题实现的功能是将一组无序数列通过排序使其成为有序数列。
2. 问题详细描述
将一组无序数列分别通过直接法、插入法、shell排序进行排序,使其按一定规律(由大到小或由小到大)排列。
3.问题的解决方案:
根据问题的描述,可以按照要求的功能采用结构化的设计思想。
(1) 数列的赋值要求用函数实现。
(2) 使用“直接法”进行排序,用函数实现并统计排序次数。
(3) 使用“插入法”进行排序,用函数实现并统计排序次数。
(4) 使用“希尔法”进行排序,用函数实现并统计排序次数。
(5) 比较以上排序方法的优劣。

五、创新要求
在基本要求达到后,进行创新设计:
(1)使用多文件,即主函数和各个函数分别存放在不同的.cpp文件中,在头文件中进行函数原型声明;
(2)采用复杂数据结构实现排序算法,如结构。
编出来贴在这里就行,发到我邮箱里也行。zjklichunhui1985@163.com
然后给我百度空间里留言吧。我这几天就要

兄弟应该是个c++初学者吧!排序是c++最基础的编程,我是NIIT学生专门学习编程的以后有什么问大家可以讨论,讨论呀!这是我看了你的题目后编的c++排序问题的程序.你自己好好看看,看完后自己去执行一 下.有错的话你在找我好了,我看是没有错了我执行了好几遍了.
#include <iostream>
class Customers
{
float amounts[10];
public:
void sortData()
{
int ctr;
for(ctr=0;ctr<10;ctr++)
{
cout<<"Enter the amount";
cin>>amounts[ctr];
}
int counter=0;
while(counter<9)
{
float temp;
if(amounts[counter]>amounts[counter+1])
{
temp=amounts[counter];
amounts[counter]=amounts[counter+1];
amounts[counter+1]=temp;
counter=0;
continue;
}
counter++;
}
}
}
void display()
{
for(int counter=0;counter<10;+