编程练习2——06
来源:互联网 发布:怎么举报网络博客 编辑:程序博客网 时间:2024/06/05 20:17
例如 3行3列 的二维数组 34,85,72,93,49,28,48,12,43
输出 34, 72, 85 93, 49, 28 12, 43, 48
分析:这个题目直接按照题目的意思,找到偶数行奇数行分别排序
下面是代码实现:
/*************************************************************************************
对N行N列二维数组的每一行排序,偶数行(0当作偶数)由小到大排序,奇数行由大到小排序
例如 3行3列 的二维数组 34,85,72,93,49,28,48,12,43
输出 34, 72, 85 93, 49, 28 12, 43, 48
*************************************************************************************/
#include <stdio.h>
#define N 4
void Swap (int *a, int *b) //交换数
{
int temp = 0;
temp = *a;
*a = *b;
*b = temp;
}
void S_L_Sort(int *Arr) //从小到大排序,选择
{
int i = 0;
int j = 0;
int min_index = 0;
for (i = 0; i < N - 1; i++)
{
min_index = i;
for (j = i + 1; j < N; j++)
{
if (Arr[j] < Arr[min_index])
{
min_index = j;
}
}
if (min_index != i)
{
Swap(&Arr[min_index], &Arr[i]);
}
}
}
void L_S_Sort(int *Arr) //从大到小排序,冒泡
{
int i = 0;
int j = 0;
for (i = 0; i < N - 1; i++)
{
for (j = 0; j < N - i - 1; j++)
{
if (Arr[j] < Arr[j + 1])
{
Swap(&Arr[j], &Arr[j + 1]);
}
}
}
}
void ArrSort(int (*Arr)[N])
{
int i = 0;
while (i < N)
{
if (i % 2 == 0)
{
S_L_Sort(Arr[i]); //偶数行从小到大排序
}
else
{
L_S_Sort(Arr[i]); //奇数行从大到小排序
}
i++;
}
}
void PrintArr (int (*Arr)[N]) //打印二维数组
{
int i = 0;
int j = 0;
for (i = 0; i < N; i++)
{
for (j = 0; j < N; j++)
{
if (j % 4 == 0)
{
printf ("\n");
}
printf ("%3d", Arr[i][j]);
}
}
printf ("\n");
}
int main()
{
int Arr[N][N] = {6,51,32,16,5,46,84,3,53,46,31,35,16,54,15,3}; //定义一个4*4的二维数组
ArrSort(Arr);
PrintArr(Arr); //按照要求排序并打印
return 0;
}
- 编程练习2——06
- 编程练习2——03
- 编程练习2——04
- 编程练习2——05
- 编程练习2——07
- 编程练习2——08
- 编程练习2——09
- 编程练习2——10
- 初学编程——编程练习
- 我的J2ME编程练习(2)——DateField
- 《C++ Primer Plus》——编程练习答案(2)
- GEEK编程练习— —2的次方数
- C++编程练习(2)——椭圆类
- C语言学习历程——编程练习2——06
- 编程练习——红黑树(RedBlackTree)
- 编程练习——伸展树(SplayTree)
- 编程练习——堆heap
- 编程练习——huffman编码
- LINUX I2C驱动偶尔出现段错误原因之一
- mybits 注解
- 统计一条语句中的空格、字母、数字的个数
- 【排序算法总结】选择排序
- Deploy Location!
- 编程练习2——06
- github上如何修改语言设置
- Js学习第九天
- Vuforia Features Vuforia特点
- python-pandas的基本用法09
- 算法十
- spring中的@Transactional注解
- java中的内部类
- 编程练习2——07