数组排序

/*
功能:数组排序
日期:2013-06-17
*/
#include <stdio.h>
#include <stdlib.h>
void sort(int p[],const int len);
int findMinIndex(int p[],const int len);
int m=0;

int main(void)
{
	int Array[7]={23,45,12,89,33,101,67};
	int i;

    printf("数组的初始状态是:");
	for (i=0;i<7;i++)
	{
		printf("%d ",Array[i]);
	}

	printf("n排序后数组状态是:");
	sort(Array,7);

	printf("n");
	system("pause");
	return 0;
}

/************************************************************************
函数名:findMinIndex
功能:寻找最小元素
参数:int p[] 数组的首地址
      const int len 数组长度
返回值:最小元素下标
************************************************************************/
int findMinIndex(int p[],const int len)
{
	int i,min,j;
	min=p[0];
		for (j=0;j<len-m;j++)
		{
			min = min<p[j]?min:p[j];

		}
		for (j=0;j<len-m;j++)
		{
			if(min==p[j])
			{
				return j;
			}
		}
}
/************************************************************************
函数名:sort
功能:将数组由大到小输出
参数:p[] 数组的首地址
      len 数组长度
返回值:无
************************************************************************/
void sort(int p[],const int len)
{    int i,tmp,j;

	for(i = 0;i<len;i++)
	{
		j = findMinIndex(p,len) ;
		tmp = p[len-1-i];
		p[len-1-i] = p[j];
		p[j] = tmp;
		m++;
	}
	for(i = 0;i<len;i++)
	{

		printf("%d ",p[i]);
	}
}

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏java一日一条

10个经典的 Java main 方法面试题

在Java 7之前,你可以通过使用静态初始化运行Java类。但是,从Java 7开始就行不通了。

691
来自专栏梧雨北辰的开发录

Swift学习:扩展

本篇将详细总结介绍Swift扩展的用法; 扩展就是为一个已有的类、结构体、枚举类型或者协议类型添加新功能。这包括在没有权限获取原始源代码的情况下扩展类型的能力...

932
来自专栏Python爬虫与数据挖掘

Python正则表达式初识(四)

今天继续给大家分享Python正则表达式基础知识,主要给大家介绍一下特殊字符“{}”的用法,具体的教程如下。

732
来自专栏JavaEE

探讨Java参数传递问题

可能很多人都知道参数有形参和实参之分,却不知道区别到底是什么;知道Java中内存分为栈、堆、方法区等5片内存,不知道每片内存中保存的都是什么;关于参数的传递到底...

1042
来自专栏ShaoYL

OC语言Block

35511
来自专栏强仔仔

Java基础知识-if条件语句的使用介绍

这章节给大家介绍一下Java中经常使用的if条件语句是如何使用的和在项目开发过程中if语句的注意事项。 1.首先就是最基础的写法if(boolean类型) 和i...

2465
来自专栏黑泽君的专栏

接口中可以包含的组成部分

    1.接口中的抽象方法,修饰符如果自己写必须是:public abstract

6911
来自专栏赵俊的Java专栏

最小差

1432
来自专栏Python小屋

Python标准库base64用法简介

base64模块提供了大量函数用来把二进制数据编码为可打印的ASCII字符,以及将其解码为二进制数据。提供了RFC3548中Base16、Base32、Base...

7528
来自专栏函数式编程语言及工具

泛函编程(11)-延后计算-lazy evaluation

     延后计算(lazy evaluation)是指将一个表达式的值计算向后拖延直到这个表达式真正被使用的时候。在讨论lazy-evaluation之前...

2126

扫码关注云+社区

领取腾讯云代金券