|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
编的希尔排序法 没有错误 但编译的时候弹出对话框显示出现错误,导致程序停止工作,求解?
#include "stdafx.h"
#include "iostream.h"
#define Length 10
int a[Length];
void Shellinsert(int p,int q)
{
int temp,m,c=0,l,n;
int b[Length];
for(m=p,l=0;m<Length,l<Length;m=m+q,l++)
{
b[l]=a[m];
c++;
}//
for(l=1;l<=c;l++)
{
for(n=l;n>0;n--)
{
if(b[n]<b[n-1])
{
temp=b[n];
b[n]=b[n-1];
b[n-1]=temp;
}
}
}
//
for(m=p,l=0;m<Length,l<Length;m=m+q,l++)
{
a[m]=b[l];
}
}
void Shellsort(int s)
{
int k;
for(k=0;k<s;k++)
{
Shellinsert(k,s);
}
}
int main(int argc, char* argv[])
{
int i,t;
cout <<"请输入数据:\n";
for(i=0;i<Length;i++)
{
cin >>a[i];
}
cout <<"请输入序列增量:\n";
cin >>t;
Shellsort(t);
for(i=0;i<Length;i++)
{
cout <<a[i]<<' ';
}
//
cout <<"请输入序列增量:\n";
cin >>t;
Shellsort(t);
for(i=0;i<Length;i++)
{
cout <<a[i]<<' ';
}
//
cout <<"请输入序列增量:\n";
cin >>t;
Shellsort(t);
for(i=0;i<Length;i++)
{
cout <<a[i]<<' ';
}
return 0;
}
|
|