📄 c08_14.c
字号:
#include <stdio.h>
#define N 10
void Sort(int *p);
int main()
{
int Array[N]={ 20,188,161,14,12, -10,78,-6,4,32};
int i;
printf("未排序前的数列:\n");
for (i=0; i<N; i++)
printf("%4d",Array[i]);
Sort( Array ); /*Array为数组的地址,这里传递地址 ,Sort()的形参要定义为指针*/
printf("\n排序后的数列是:\n");
for (i=0; i<N; i++)
printf("%4d", Array[i]);
printf("\n");
return 0;
}
/* 对数列进行升序排序的函数,交换排序的方法 */
/******************************************************/
/*函数功能:对指针所指向的数组进行逆排序(利用中间变量进行交换)*/
/*函数参数:int *p :需要进行逆排序数列的首地址 */
/******************************************************/
void Sort(int *p)
{
int temp;
int i, j, k;
printf("\n");
for(i=0; i<N-1;i++) /* n个元素,外循环n-1次 */
{
k = i;
for(j=i+1; j<N; j++) /* 内循环 */
if (p[k]>p[j]) k = j;
/* 比较p[k]与p[j]的大小,较小元素的序号保留在k中 */
if (k != i)
{
/*交换name[i]与name[k]的指向 */
temp = p[i];
p[i] = p[k];
p[k] = temp;
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -