| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 286 人关注过本帖
标题:请高手指教一下 调用sort函数的执行过程 一步一步详细的过程是怎么执行的 ...
只看楼主 加入收藏
KYO23
Rank: 1
等 级:新手上路
帖 子:1
专家分:0
注 册:2012-8-3
结帖率:0
收藏
已结贴  问题点数:5 回复次数:1 
请高手指教一下 调用sort函数的执行过程 一步一步详细的过程是怎么执行的 越详细越好
#include<stdio.h>
void main()
{void sort(int x[],int n);
 int*p,i,a[10];
 p=a;
 for(i=0;i<10;i++)
 scanf("%d",p++);
 p=a;
 sort(p,10);
 for(p=a,i=0;i<10:i++)
    {printf("%d",*p);p++;}
}
void sort(int x[],int n)
{int i,j,k,t;
 for(i=0;i<n-1,i++)
  {k=i;
   for(j=i+1;j<n;j++)
     if(X[j]>x[k])k=j;
   if(k!=i)
      {t=x[i];x[i]=x[k];x[k]=t;}
    }
}
本体是用选择法对10个数按大小顺序排列
搜索更多相关主题的帖子: void 
2012-08-04 08:47
a745043791
Rank: 4
等 级:业余侠客
帖 子:95
专家分:260
注 册:2012-2-12
收藏
得分:5 
选择排序法的原理是在N个数中找出最大的数放在第一位,然后在剩下的N-1个数中找出最大的一个,放在第二位……
void sort(int x[],int n)
{int i,j,k,t;
for(i=0;i<n-1,i++) //i等于0是在n个数中找出最大的一个,i等于1时在N-1个数中找出最大的一个……
  {k=i;  //k存放最大的数的下标
   for(j=i+1;j<n;j++)//x[k]依次与剩下的数比较,找出最大的数
     if(X[j]>x[k])//若x[j]>x[k],那么k=j,因为k存放最大的数的下标
     k=j;
   if(k!=i)//现在已经找出最大的数的下标了,若k=i则最大数在第一个,不用交换。
      {t=x[i];x[i]=x[k];x[k]=t;}定义一个临时变量,用来交换最大数和第一个数
    }
}
2012-08-04 11:53
快速回复:请高手指教一下 调用sort函数的执行过程 一步一步详细的过程是怎么执 ...
数据加载中...
 
   



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

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