希尔排序法
编的希尔排序法没有错误但编译的时候弹出对话框显示出现错误,导致程序停止工作,求解?#include "stdafx.h"
#include "iostream.h"
#define Length 10
int a;
void Shellinsert(int p,int q)
{
int temp,m,c=0,l,n;
int b;
for(m=p,l=0;m<Length,l<Length;m=m+q,l++)
{
b=a;
c++;
}//
for(l=1;l<=c;l++)
{
for(n=l;n>0;n--)
{
if(b<b)
{
temp=b;
b=b;
b=temp;
}
}
}
//
for(m=p,l=0;m<Length,l<Length;m=m+q,l++)
{
a=b;
}
}
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;
}
cout <<"请输入序列增量:\n";
cin >>t;
Shellsort(t);
for(i=0;i<Length;i++)
{
cout <<a<<' ';
}
//
cout <<"请输入序列增量:\n";
cin >>t;
Shellsort(t);
for(i=0;i<Length;i++)
{
cout <<a<<' ';
}
//
cout <<"请输入序列增量:\n";
cin >>t;
Shellsort(t);
for(i=0;i<Length;i++)
{
cout <<a<<' ';
}
return 0;
}
页:
[1]