用指向指针的方法对N个整数排序并输出

楼下的说的不错,但我们的是老师出的课程设计题目,我也看用冒泡排序即可,不必使用指针,但试卷要求如此,我也没有办法!... 楼下的说的不错,但我们的是老师出的课程设计题目,我也看用冒泡排序即可,不必使用指针,但试卷要求如此,我也没有办法! 展开
 我来答
秋天来了仔陈
2009-07-14 · TA获得超过2145个赞
知道小有建树答主
回答量:843
采纳率:0%
帮助的人:742万
展开全部
选择
#include "stdio.h"
void sort(int x[],int n)
{
int t,i,j,k;
for(i=0;i<n-1;i++)
{
k=0;
for(j=0;j<n-1-i;j++)
if(x[k]<x[j+1])
k=j+1;
t=x[k];
x[k]=x[n-1-i];
x[n-1-i]=t;
}
}
void main()
{
int a[10],i,*p;
for(i=0;i<10;i++)
scanf("%d",&a[i]);
p=a;
sort(p,10);
for(p=a,i=0;i<10;i++)
{
printf("%d ",*p);
p++;
}
}
冒泡
#include "stdio.h"
void sort(int x[],int n)
{
int i,j,p;
for(i=0;i<n;i++)
for(i=0;i<n;i++)
for(j=0;j<n-1-i;j++)
{
if(x[j]<x[j+1])
{
p=x[j];
x[j]=x[j+1];
x[j+1]=p;
}
}
}
void main()
{
int a[10],i,*p;
for(i=0;i<10;i++)
scanf("%d",&a[i]);
p=a;
sort(p,10);
for(p=a,i=0;i<10;i++)
{
printf("%d ",*p);
p++;
}
}
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
uwinb
2009-07-15 · TA获得超过186个赞
知道小有建树答主
回答量:199
采纳率:0%
帮助的人:181万
展开全部
找N个学生,每人分配一个数,然后让他们自己去按大小排队去,最快的并行算法!(也可能是最慢的,比串行算法还要慢!)
如果你还想再快一点,可以在操场上画上若干个格子,规定每个格子只能站哪个数值区间内的数。
或者像拍卖一样,你喊第一名出列,让他们自己竞争去,依次类推。
我这样跟你开玩笑,是因为你的题目描述存在很严重的问题,估计是你转述谬传,要不就是你在胡思乱想。
既然是对整数排序,何必用指针呢;就算想用指针也不必是二级指针啊!
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
翻新老房新颜
2019-12-02 · TA获得超过3615个赞
知道大有可为答主
回答量:3048
采纳率:25%
帮助的人:161万
展开全部
你在sort里面有一点小错误,估计是粗心了。改了就能够正确的排序了。
void
sort(int
**p,int
n)
{int
i,j,*t;
for(i=0;i<n-1;i++)
{for(j=i+1;j<n;j++)
{if(**(p+i)>**(p+j))
{t=*(p+i);
*(p+i)=*(p+j);
*(p+j)=t;
//
这儿是*(p+j)
,不是*(p+i)呢,
}
}
}
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式