菜鸟求高手指点
2009-03-08 00:48
155 查看
#include<iostream>
using namespace std;
void Swap(int &a,int &b)
{
int c;
c=a;
a=b;
b=c;
}
void ShuChuShuZu(int a[],int size)
{
for(int i=0;i<size;i++)
cout<<a[i]<<" ";
}
void KuaiSu(int a[],int size)
{
int t=0,f=size-1;
for(int i=0;i<size;i++)
{
if(i%2==0)
{
for(int n=f;n>=t;n--)
{
if(a[t]>a
)
{
Swap(a[t],a
);
f=n;
}
}
}
else
{
for(int m=t;m<=f;m++)
{
if(a[f]<a[m])
{
Swap(a[f],a[m]);
t=m;
}
}
}
if(t=f)
break;
}
typedef int* IntPtr;
IntPtr b,c;
b=new int[t];
c=new int[size-t-1];
for(int j=0;j<t;j++)
{
b[j]=a[j];
}
for(int j=0;j<size-t-1;j++)
{
c[j]=a[t+1+j];
}
if(t!=1)
KuaiSu(b,t);
if((size-t-1)!=1)
KuaiSu(c,size-t-1);
}
void PuTong(int a[],int size)
{
for(int i=0;i<size-1;i++)
for(int j=i+1;j<size;j++)
if(a[i]>a[j])
Swap(a[i],a[j]);
}
void main()
{
typedef int* IntPtr;
int Asize;
cout<<"请输入数组的长度!";
cin>>Asize;
IntPtr a;
a=new int [Asize];
cout<<"请输入"<<Asize<<"个整数!"<<endl;
for(int i=0;i<Asize;i++)
{
cin>>a[i];
}
KuaiSu(a,Asize);
ShuChuShuZu(a,Asize);
cout<<endl;
PuTong(a,Asize);
cout<<"排序后的数组为:"<<endl;
ShuChuShuZu(a,Asize);
}
这段快速排序的程序,调试的时候每到执行调用KuaiSu算法时,提示出错,我也看不明白,希望有人能指出问题所在,非常感谢!
using namespace std;
void Swap(int &a,int &b)
{
int c;
c=a;
a=b;
b=c;
}
void ShuChuShuZu(int a[],int size)
{
for(int i=0;i<size;i++)
cout<<a[i]<<" ";
}
void KuaiSu(int a[],int size)
{
int t=0,f=size-1;
for(int i=0;i<size;i++)
{
if(i%2==0)
{
for(int n=f;n>=t;n--)
{
if(a[t]>a
)
{
Swap(a[t],a
);
f=n;
}
}
}
else
{
for(int m=t;m<=f;m++)
{
if(a[f]<a[m])
{
Swap(a[f],a[m]);
t=m;
}
}
}
if(t=f)
break;
}
typedef int* IntPtr;
IntPtr b,c;
b=new int[t];
c=new int[size-t-1];
for(int j=0;j<t;j++)
{
b[j]=a[j];
}
for(int j=0;j<size-t-1;j++)
{
c[j]=a[t+1+j];
}
if(t!=1)
KuaiSu(b,t);
if((size-t-1)!=1)
KuaiSu(c,size-t-1);
}
void PuTong(int a[],int size)
{
for(int i=0;i<size-1;i++)
for(int j=i+1;j<size;j++)
if(a[i]>a[j])
Swap(a[i],a[j]);
}
void main()
{
typedef int* IntPtr;
int Asize;
cout<<"请输入数组的长度!";
cin>>Asize;
IntPtr a;
a=new int [Asize];
cout<<"请输入"<<Asize<<"个整数!"<<endl;
for(int i=0;i<Asize;i++)
{
cin>>a[i];
}
KuaiSu(a,Asize);
ShuChuShuZu(a,Asize);
cout<<endl;
PuTong(a,Asize);
cout<<"排序后的数组为:"<<endl;
ShuChuShuZu(a,Asize);
}
这段快速排序的程序,调试的时候每到执行调用KuaiSu算法时,提示出错,我也看不明白,希望有人能指出问题所在,非常感谢!
相关文章推荐
- 堆栈溢出的异常问题,本人新手菜鸟,请各位高手指点一下啊!
- 菜鸟的困惑,请高手达人指点
- JVM菜鸟进阶高手之路十四:分析篇
- 之前在JVM菜鸟进阶高手之路
- [Java从菜鸟到高手演练]之JVM内存管理及垃圾回收
- 用命令调试蓝牙遇到的问题,求高手指点
- [Java从菜鸟到高手演练]之JVM内存管理及垃圾回收
- [Java从菜鸟到高手演练]之JVM内存管理及垃圾回收
- 记一下这道算法题,是腾讯实习面试的题目(欢迎高手指点
- JVM菜鸟进阶高手之路六(JVM每隔一小时执行一次Full GC)
- Java之美[从菜鸟到高手演变]之设计模式四
- winhex搜索中的偏移问题?请高手指点
- 公众号从菜鸟到高手进化;微信小店运营
- 一个js Tree 的问题,当id为整数时,可以获得值,当id为“ff100”的数字字母混合是就出现错误,请高手指点一下
- 请高手指点,简单的几个数组操作方法不知道是否可以有更好的改进方法或者更简单的方法?
- Python之美[从菜鸟到高手]--浅拷贝、深拷贝完全解读(copy源码分析)
- Java之美[从菜鸟到高手演变]之设计模式四
- spring 自动装配的问题(希望高手指点)
- 用模板建站 菜鸟变高手