急!!!c++课程设计,高手帮忙

来源:百度知道 编辑:UC知道 时间:2024/05/27 12:19:19
插入排序类模板的设计与实现
建立一维数组数据结构的模板类,使一维数组中的数据元素可以是char, int, float等多种数据类型,并对数组元素实现插入类排序。主要完成如下功能:
(1) 实现数组数据的输入和输出;
(2) 实现直接插入排序功能;
(3) 实现2-路插入排序功能;
(4) 实现希尔排序功能;
(5) 将每种排序功能作为类的成员函数实现,编写主函数测试上述排序功能。

#include<stdio.h>
#include<string.h>
#include<stdlib.h>
#include<iostream.h>
#define num 50
template<class Type>class Sort
{
private:
int len;
public:
void write();
void InsertionSort();
void Srsort(Type mi[]);
void ShellSort(Type da[],int t);
void Shellinsert(Type dk);
void print();
Type array[num];
};

//直接插入排序
template <class Type>
void Sort<Type>::InsertionSort()
{
int i,j;
for(i=2;i<=len;++i)
if(array[i]<array[i-1])
{
array[0]=array[i];
for(j=i-1;array[0]<array[j];--j)
array[j+1]=array[j];
array[j+1]=array[0];
}
}

//二路插入
template<class Type>
void Sort<Type>::Srsort(Type mi[])
{
int i,j;Type m,first,final,low,high;
Type d[100];
d[1]=array[1];
first=1;final=1;