D - 绝对值排序

简介: D - 绝对值排序
#include<stdio.h>
#include<math.h>
int main()
{
  int n, a[102];
  int i, j, t;
  while (scanf("%d", &n) != EOF)
  {
    //输入数据到数组
    if (n <= 0) return 0;
    for (i = 0; i < n; i++)
      scanf("%d", &a[i]);
    //冒泡法排序
    for (j = 0; j < n - 1; j++)
    {
      for (i = 0; i <= n - 1 - j; i++)
      {
        if (fabs(a[i]) > fabs(a[i + 1]))
        {
          t = a[i];
          a[i] = a[i + 1];
          a[i + 1] = t;
        }
      }
    }
    for (i=n-1; i>0; i--)
    printf("%d ", a[i]);
    printf("%d\n", a[i]);
  }
  return 0;
}
相关文章
|
6月前
|
机器学习/深度学习 算法 测试技术
【排序 贪心】3107. 使数组中位数等于 K 的最少操作数
【排序 贪心】3107. 使数组中位数等于 K 的最少操作数
【排序 贪心】3107. 使数组中位数等于 K 的最少操作数
|
6月前
|
算法 C++
寻找两个正序数组的中位数(C++)
寻找两个正序数组的中位数(C++)
32 0
|
11月前
|
存储 算法 搜索推荐
C# 入门算法“冒泡排序“ 升序 降序 最大值 最小值 平均值
C# 入门算法“冒泡排序“ 升序 降序 最大值 最小值 平均值
寻找两个正序数组中的中位数
寻找两个正序数组中的中位数
|
算法 C语言 C++
【前缀和】1413. 逐步求和得到正数的最小值
【前缀和】1413. 逐步求和得到正数的最小值
85 0
|
算法
找出三个最大值求乘积
找出三个最大值求乘积
84 0
|
自然语言处理 算法 Python
利用函数求出一个数组最大三个数的乘积
利用函数求出一个数组最大三个数的乘积
115 0
|
Rust 算法 Java
寻找两个正序数组的中位数
寻找两个正序数组的中位数
129 0
|
C#
【C#】输出正序、逆序、最大值、最小值和平均值
正序、逆序、最大值、最小值和平均值
322 1
【C#】输出正序、逆序、最大值、最小值和平均值
求两个升序序列的中位数( 减治法)
题目: 一个长度为L(L≥1)的升序序列S,处在第L/2(若为小数则去掉小数后加1)个位置的数称为S的中位数。例如,若序列S1=(11,13,15,17,19),则S1的中位数是15。两个序列的中位数是含它们所有元素的升序序列的中位数。例如,若S2=(2,4,6,8,20),则S1和S2的中位数是11。现有两个等长升序序列A和B,试实现一个在时间和空间两方面都尽可能高效的算法,找出两个序列A和B的中位数。
求两个升序序列的中位数( 减治法)