| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 406 人关注过本帖
标题:[求助]谁能看一下这个快速排序的程序
只看楼主 加入收藏
love154139
Rank: 1
等 级:新手上路
帖 子:70
专家分:0
注 册:2007-5-6
收藏
 问题点数:0 回复次数:2 
[求助]谁能看一下这个快速排序的程序

#include <iostream>
using namespace std;
#define n 10

void pin(int a[],int s,int t);

void main()
{
int b[n],i;
cout<<"请输入一组数:"<<endl;
for(i=0;i<n;i++)
{
cin>>b[i];
if(b[i]==0)
break;
}
int s=0,t=i;
pin(b,s,t); ///进不了函数体的??
for(i=0;i<t;i++)
cout<<b[i]<<" ";
}

void pin(int a[],int s,int t)
{
int i,j,x;
i=s;
j=t+1;
x=a[s];
do
{
do i++;
while(a[i]<x);
do j--;
while(a[i]>x);
if(i<j)
{
int m=a[i];
a[i]=a[j];
a[j]=m;
}
}while(i<j);
a[s]=a[j];
a[j]=x;
if(s<j-1)
pin(a,s,j-1);
if(j+1<t)
pin(a,j+1,t);
}

我单步执行的时候到红线那部分就停止了。...进不了函数体...谁能告诉我什么??

搜索更多相关主题的帖子: 快速 include 
2007-07-03 17:25
aipb2007
Rank: 8Rank: 8
来 自:CQU
等 级:贵宾
威 望:40
帖 子:2879
专家分:7
注 册:2007-3-18
收藏
得分:0 
不是那里错了吧,调用没问题的。
再调试调试。

Fight  to win  or  die...
2007-07-03 20:50
love154139
Rank: 1
等 级:新手上路
帖 子:70
专家分:0
注 册:2007-5-6
收藏
得分:0 
回复:(love154139)[求助]谁能看一下这个快速排序的...
我知道错哪了..呵呵..谢谢提醒拉......
程序是错在
void pin(int a[],int s,int t)
{
int i,j,x;
i=s;
j=t+1;
x=a[s];
do
{
do i++;
while(a[i]<x);
do j--;
while(a[i]>x); ///忘了把j换成i了
if(i<j)
{
int m=a[i];
a[i]=a[j];
a[j]=m;
}
}while(i<j);
a[s]=a[j];
a[j]=x;
if(s<j-1)
pin(a,s,j-1);
if(j+1<t)
pin(a,j+1,t);
}

2007-07-03 21:17
快速回复:[求助]谁能看一下这个快速排序的程序
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.030776 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved