| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 14977 人关注过本帖
标题:用指针实现对10个整数进行冒泡排序
只看楼主 加入收藏
chen4778482
Rank: 1
来 自:江西
等 级:新手上路
帖 子:8
专家分:0
注 册:2010-12-2
结帖率:66.67%
收藏
已结贴  问题点数:20 回复次数:5 
用指针实现对10个整数进行冒泡排序
#include <stdio.h>
void sort(int *, int);
void main(void)
{    int a[10],i,*p;
      printf("请输入10个整数:\n");
      for(i=0;i<10;i++)      scanf("%d", &a[i]);
    printf("排序前:");
    for(i=0;i<10;i++)      printf("%4d",a[i]);
     p=a;
    sort(p,10);
    printf("\n排序后:");
    for(i=0;i<10;i++)       printf("%4d",a[i]);
    printf("\n");
}
void sort(int *b, int n)
{ int i,temp,*p;
   for(i=0;i<n-1;i++)
       for(p=b;p<b+n-i-1;p++)
           if(*p>*(p+1))
          {     temp=*p;         *p=*(p+1);         *(p+1)=temp;    }
解释下   sort(p,10);
还有这个看不懂void sort(int *b, int n)
{ int i,temp,*p;
   for(i=0;i<n-1;i++)
       for(p=b;p<b+n-i-1;p++)
           if(*p>*(p+1))
          {     temp=*p;         *p=*(p+1);         *(p+1)=temp;    }
搜索更多相关主题的帖子: 整数 指针 冒泡 
2010-12-09 17:21
rainbow1
Rank: 8Rank: 8
等 级:蝙蝠侠
威 望:2
帖 子:277
专家分:839
注 册:2010-5-19
收藏
得分:5 
sort(p,10);
是主函数对子函数sort(p,10)的调用。

void sort(int *b, int n)
{ int i,temp,*p;
//下面的if判断实现 指针指向数据大小的比较,通过中间变量temp把大的数向后排,小的数向前排;通过for循环可进行连续比较,把大的数依次后后放。
   for(i=0;i<n-1;i++)
       for(p=b;p<b+n-i-1;p++)  //
           if(*p>*(p+1))  
          {
              temp=*p;
              *p=*(p+1);  
             *(p+1)=temp;
          }
}
2010-12-09 17:58
chen4778482
Rank: 1
来 自:江西
等 级:新手上路
帖 子:8
专家分:0
注 册:2010-12-2
收藏
得分:0 
sort(p,10);我是问这括号里的P和10是怎么来的代表的是什么
2010-12-09 18:17
mengcong3959
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:41
专家分:113
注 册:2010-12-6
收藏
得分:5 
sort(p,10),,里面的实参一个就是你定义的那个指针p指向数组a[],,10就是那10个数呗,,只是代表一个数,到形参里面n就是10了
2010-12-10 16:34
laoyang103
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
来 自:内蒙古包头
等 级:贵宾
威 望:19
帖 子:3082
专家分:11056
注 册:2010-5-22
收藏
得分:5 
for(p=b;p<b+n-i-1;p++)
估计你是这句话看不懂吧首先让p指向了第一个数
那么p+n 也就指向了第一个数对吧
因为地址也是可以比较的
所以根据冒泡法的循环条件就可以把 n-i-1写成
指针形式的 (p+n)-i-1

                                         
===========深入<----------------->浅出============
2010-12-10 16:44
zsq123456789
Rank: 1
等 级:新手上路
帖 子:1
专家分:0
注 册:2014-6-2
收藏
得分:0 
我想问一个问题,为什么前面的声名中为什么只有*,而且主函数中有课*p,sort函数中还能用*p吗?
2014-06-02 11:13
快速回复:用指针实现对10个整数进行冒泡排序
数据加载中...
 
   



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

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