标题:用指针实现对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



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-328524-1-1.html




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

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