科技行者

行者学院 转型私董会 科技行者专题报道 网红大战科技行者

知识库

知识库 安全导航

至顶网软件频道基础软件对于c/c++中的数组排序及计算平均值和得到最大最小值的思考

对于c/c++中的数组排序及计算平均值和得到最大最小值的思考

  • 扫一扫
    分享文章到微信

  • 扫一扫
    关注官方公众号
    至顶头条

最近在帮助其它人的学习中发现了许多问题就数组和局部变量和全居变量的两道例题进行刨析和思考! 排序操作

来源:中国软件网 2008年4月1日

关键字: 排序 数组 C++ C Linux

  • 评论
  • 分享微博
  • 分享邮件

最近在帮助其它人的学习中发现了许多问题就数组和局部变量和全居变量的两道例题进行刨析和思考!

排序操作

#include

voidsort(array,n)
intarray[];
intn;
{
inti,j,k,t;
for(i=0;i)/* 循环9次,这里循环9次因为排列到第9次的时候最大的已经自动被排列到最后了 */
{
k=i;[/LIGHT] /* 把i记录下来,以便进行调换操作 */
for(j=i+1;)j/* 在外部i循环内进行第二次循环,检查所有的剩余元素 */
{
if(array[j])/* 利用k对比j循环的元素大小是否比外部i循环当前元素的值 */
{
k=j; /* 将k的值定义为j循环的最小元素的(下标),以便进行调换操作 */
}
t=array[k]; /* 将t的值定义为j循环的最小值元素的值 */
array[k]=array[i]; /* 把j循环内的(也就是array[j])的值,调换为此次外部i循环元素的值 */
array[i]=t; /* 将外部i循环的当前元素的值替换为前面以t为临时存储的(也就是array[j])的值 */
}
}
}
main()
{
inta[10],i; /* 定义a[10]为一个数组,用于输入10个不同的数字;定义用于循环的便量i; */
printf("enter the array\n");
for(i=0;i<10;i++)
{
scanf("%d",&a[i]); /* 利用这10次循环给每个数组元素尽心赋值操作从a[0]到a[9] */
}
sort(a,10);/* 把数组a的各数组元素地址和数组数量传递给自定义排序涵数的形式参数 */
printf("the sorted array:\n");
for(i=0;i<10;i++)
{
printf("%d",a[i]); /*利用10次循环把排序后的数组元素打印在屏幕上*/
}
printf("\n");

}/* 此篇代码练习序号注意的是用数组名作涵数实际参数的时候,不是把数组的值传递给形式参数,而是把实际参数数组的起始地址传递给形式参数数组,这样两个数组就共同占用一段内存单元,而不需要建立两个不同的数组浪费内存空间 */

    • 评论
    • 分享微博
    • 分享邮件
    邮件订阅

    如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。

    重磅专题
    往期文章
    最新文章