| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 974 人关注过本帖
标题:指针实现冒泡排序的简单问题...
取消只看楼主 加入收藏
ziyi555
Rank: 1
等 级:新手上路
帖 子:49
专家分:0
注 册:2006-11-4
收藏
 问题点数:0 回复次数:1 
指针实现冒泡排序的简单问题...

看代码:
#include<stdio.h>
void main()
{
int i, j, temp, num[5]={12,15,54,36,85};
for(i=0; i<5-1; i++)
{
for(j=0; j<5-i-1; j++)
{
if(num[j]<num[j+1])
{
temp=num[j];
num[j]=num[j+1];
num[j+1]=temp;
}
}
}
printf("从大到小输出数组为的:\n");
for(i=0;i<5;i++)
printf("%4d",num[i]);
}

我想用指针来实现上面的排序,,该怎么写那个嵌套循环??高手指点下

#include<stdio.h>
void main()
{
int i, j, num[5]={12,15,54,36,85};
int *arr;
arr=num;

/* 下面怎么写控制交换的那一段啊?*/

printf("从大到小输出数组为的:\n");
for(*arr, i=0; i<5; *(arr++), i++)
printf("%4d",*arr);
}

搜索更多相关主题的帖子: 指针 简单问题 冒泡 
2006-11-04 12:27
ziyi555
Rank: 1
等 级:新手上路
帖 子:49
专家分:0
注 册:2006-11-4
收藏
得分:0 
太谢谢咯,试了半天原来少了句话....但是还有点点不清楚
#include<stdio.h>
void main()
{
int i, j, temp,num[5]={12,15,54,36,85};
int *arr;
arr=num;
for(i=0;i<5;i++)
{ for(*arr, j=0; j<5-i-1; *(arr++), j++)
{
if(*arr<*(arr+1))
{
temp=*arr;
*arr=*(arr+1);
*(arr+1)=temp;
}
}
arr=num; //为什么要加这一句呢??它还是加在循环里面 为什么?..
}
arr=num; //这句可不可以省略? 我省略了也可以执行啊....
printf("从大到小输出数组为的:\n");
for(*arr, i=0; i<5; *(arr++), i++)
printf("%6d",*arr);
printf("\n");
}

放手一博
2006-11-04 13:08
快速回复:指针实现冒泡排序的简单问题...
数据加载中...
 
   



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

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