C++高手帮帮我,帮我调一下这个程序。

来源:百度知道 编辑:UC知道 时间:2024/06/17 23:10:48
这是个排序程序,我不会调用,主程序不会写,也可能前面的算法也没有写完整,请高手帮我补充完整,谢谢。
#include<iostream.h>
#define N 4
template<class Record>
void ModMergeSort(Record Array[],Record TempArray[],int left,int right){
int middle;
if(right-left+1>N) {
minddle=(left+right)/2;
ModMergeSort(Array,TempArrray,left,middle);
ModMergeSort(Array,TempArray,middle+1,right);
ModMerge(Array,TempArray,left,right,middle);
}
eleInsertSort(&Array[left],right-left+1);
}
template<class Record>
void ModMerge(Record Array[],Record TempArray[],int left,int right,int middle){
int index1,index2;
int i,j,k;
for(i=left;i<=middle;i++)
TempArray[i]=Array[i];
for(j=1;j<=right-middle;j++)
TempArray[right-j+1]=Array[j+middle];
for(index1=left,index2=right,k=left;k<=right;k++)
if(TempArray[index1]<=TempArray[index2])
Array[k]=TempArray[index1++];

这是什么程序?你的基本功也太差了,一个最简单的程序调用传参数你都不懂你还写什么程序。如果只是一个简单的排序函数,在百度里输入排序算法至少有N条结果,很多都是些好的程序,拿来用也没问题。
写程序就像写文章要有一个好的思路,但如果你连基本的说话都不会就别写文章了,麻烦你用半天的时间看下编程的基本要求,这么简单的程序我帮你写简直就是丢份。

高手来了,不见代码。

我加了一个显示函数,给你参考吧
#include <iostream>
using namespace std;
const int N=5;

template<class Record>
void ModMerge(Record Array[],Record TempArray[],int left,int right,int middle)
{
int index1,index2;
int i,j,k;
for(i=left;i<=middle;i++)
TempArray[i]=Array[i];
for(j=1;j<=right-middle;j++)
TempArray[right-j+1]=Array[j+middle];
for(index1=left,index2=right,k=left;k<=right;k++)
if(TempArray[index1]<=TempArray[index2])
Array[k]=TempArray[index1++];
else Array[k]=TempArray[index2--];
}

template<class T>
void Print(T arr[N]){
for(int i=0;i!=N;i++)
cout<<arr[i]<<'\t';
cout<<endl;
}
int main()<