ichenbin 发表于 2013-10-9 23:36:40

希尔排序法

编的希尔排序法没有错误但编译的时候弹出对话框显示出现错误,导致程序停止工作,求解?
#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]
查看完整版本: 希尔排序法