『代码』··By/蜜汁炒酸奶

数组排序

/*
功能:数组排序
日期: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]);
	}
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77

预览
Loading comments...
0 条评论

暂无数据

example
预览