程序:
#include
#include
const int N=20
#define Elem Type int
//1.直接插入排序//
void insertsort(Elem Type R[],int n)
for(int i=1;i<n;i++)
{
Elem Tpye temp=R[i];
int j=i-1;
while((j>=0)&&(temp<R[j]))
{
R[j+1]=R[j];j--;
}
R[j+1]=temp;
}
}
//2.折半插入排序//
void BinaryInsertSort(ElemType R[],int n)
{
for(int i=1;i {
int left=0,right=i-1;Elem Type temp=R[i];
while(left {
int middle=(left+right)/2;
if(temp right=middle-1;
else
left=middle+1;
}
for(int j=i-1;j>=left;j--)
R[j+1]=R[j];
R[left]=temp;
}
}
//3.希尔排序//
void ShellSort(Elem Type R[],int n)
{
for(int d=n/2;d>=1;d/=2)
{
for(int i=d;i {
Elem Type temp=R[i];
for(int j=i-d;j>=0;j-=d)
{
if(temp R[j+d]=R[j];
else break;
}
R[j+d]=temp;
}
}
}
//4.冒泡排序//
void Bubbblesort(Elem Type R[],int n)
{
int flag=1;
for(int i=1;i {
flag=0;
for(int j=n-1;j>=i;j--)
if(R[j] {
Elem Type t=R[j];
R[j]=R[j-1];
R[j-1]=t;flag=1;
}
if(flag=0)return;
}
}
//5.简单选择排序//
void selectsort(Elem Type R[],int n)
{
int i,j,m;Elem Type t;
for(i=0;i {
m=i;
for(j=i+1;j if(R[j] if(m!=i)
{
t=R[i];
R[i]=R[m];
R[m]=t;
}
}
}
//6.树型选择排序//
void treesort(Elem Type R[],int left,int right)
{
int i=left,j=right;
Elem Type temp=R[i];
while(i {
while((R[j]>temp)&&(j>i))
j=j-1;
if(j>i)
{
R[i]=R[j];
i=i+1;
}
while((R[i]<=temp)&&(j>i))
i=i+1;
if(i {
R[j]=R[i];
j=j-1;
}
}
R[i]=temp;
if(left if(i+1 }
//7.堆排序 //
void creatheap(Elem Type R[],int i,int n)
{
int j;Elem Type t;
t=R[i];j=2*i;
while(j {
if((R[j] j++;
if(t {
R[i]=R[j];
i=j;
j=2*i;
}
else j=n;
R[i]=t;
}
}
void heapsort(Elem Type R[],int n)
{
Elem Type t;
for(int i=n/2;i>=0;i--)
creatheap(R,i,n);
for(i=n-1;i>=0;i--)
{
t=R[0];
R[0]=R[i];
R[i]=t;
creatheap(R,0,i-1);
}
}
void print(Elem Type R[],int n)
{
for(int i=0;i<=n-1;i++)
{
if(i%10==0)
{cout<<endl;}
cout<<R[i]<<setw(6);
}
cout<<endl;
}
void main()
{
Elem Type R[N];
int i;
cout<<"请输入一组数据";
for(i=0;i<=N;i++)
cin>>R[i];
insertsort(R,N);
cout<<"直接排序开始";
print(R,N);
BinaryInsertSort(R,N)
cout<<"折半插入排序开始";
print(R,N);
ShellSort(R,N)
cout<<"希尔排序开始";
print(R,N);
Bubbblesort(R,N)
cout<<"冒泡排序开始";
print(R,N);
selectsort(R,N)
cout<<"简单选择排序开始";
print(R,N);
treesort(R,0,N-1)
cout<<"树形选择排序开始";
print(R,N);
heapsort(R,N)
cout<<"堆排序开始";
print(R,N);
}
运行出来就是下面的问题,感觉应该是函数调用方面出了问题,但就是不知道怎么改,希望各位大神指点迷津,十分感激
: error C2144: syntax error : missing ';' before type 'void'
: fatal error C1004: unexpected end of file found
你这代码粘贴成这样,怎么看出错误,只能找时间帮你写一个
const int N=20 这句话应该加分号的 这不属于宏
自己看着代码对比吧。。。