对一个数组进行排序,这个数组可以是整型、浮点型

转载 2007年09月22日 13:09:00

 要求用C语言(不许用C++)编写一个函数,调用这个函数可以对一个数组进行排序,这个数组可以是整型、浮点型等。函数头(返回类型、函数名、参数列表)自定。

============== test 1 =============

#include "stdio.h"

#define Sort(T, src, len) { /
   int i = 0; /
   while (i < len - 1) /
   { /
       int j = i + 1; /
       while (j < len) /
       { /
           if (src[j] < src[i]) /
           { /
               T t = src[j]; /
               src[j] = src[i]; /
               src[i] = t; /
           } /
           j++;/
       } /
       i++;/
   } /
} /

int main()
{
    int     int_array[8] = {9, 8, 5, 5, 3, 2, 1, 9};
    double  flt_array[8] = {9.5, 5.8, 5.4, 5.1, 3.9, 1.2, 0.1, 9.3};
    char    chr_array[8] = {'d', 'v', 'q', 'd', 't', 't', 'w', 'g'};

    int i = 0;

    Sort(int, int_array, 8);
    Sort(double, flt_array, 8);
    Sort(char, chr_array, 8);

    for (i = 0; i < 8; ++i)
        printf("%d ", int_array[i]);
    printf("/n");

    for (i = 0; i < 8; ++i)
        printf("%.2f ", flt_array[i]);
    printf("/n");

    i = -1;
    for (i = 0; i < 8; ++i)
        printf("%c ", chr_array[i]);
    printf("/n");

    return 0;
}

============== test 1 =============

给一个不用传类型的,不过一定要多分配一个元素


#include "stdio.h"

#define Sort(src, len) { /
   int i = 0; /
   while (i < len - 1) /
   { /
       int j = i + 1; /
       while (j < len) /
       { /
           if (src[j] < src[i]) /
           { /
               src[len] = src[j]; /
               src[j] = src[i]; /
               src[i] = src[len]; /
           } /
           j++;/
       } /
       i++;/
   } /
} /

int main()
{
    /* 多分配一个空间,所以个数是 8, 大小是 8 + 1 == 9
    */
    int     int_array[9] = {9, 8, 5, 5, 3, 2, 1, 9};
    double  flt_array[9] = {9.5, 5.8, 5.4, 5.1, 3.9, 1.2, 0.1, 9.3};
    char    chr_array[9] = {'d', 'v', 'q', 'd', 't', 't', 'w', 'g'};

    int i = 0;

    Sort(int_array, 8);
    Sort(flt_array, 8);
    Sort(chr_array, 8);

    for (i = 0; i < 8; ++i)
        printf("%d ", int_array[i]);
    printf("/n");

    for (i = 0; i < 8; ++i)
        printf("%.2f ", flt_array[i]);
    printf("/n");

    for (i = 0; i < 8; ++i)
        printf("%c ", chr_array[i]);
    printf("/n");

    return 0;
}
 

浮点型数组输出

背景: 将一个float数组数据进行输出,保留为一个文本内容,方便其他人查看。 方式1: float signala[1024] .....存放数据到signala中 //将...
  • ljp1919
  • ljp1919
  • 2016年11月18日 21:28
  • 1059

mysql中的浮点类型

MySQL 支持的三个浮点类型是 FLOAT、DOUBLE 和 DECIMAL 类型。FLOAT 数值类型用于表示单精度浮点数值,而 DOUBLE 数值类型用于表示双精度浮点数值。与整数一样,这些类型...
  • BigBird2012
  • BigBird2012
  • 2011年07月07日 19:48
  • 30962

<笔试><面试>编写一个排序函数,实现,既可以排序整形数组,又可以排序字符串。

思路:仿照qsort函数运用函数指针实现排序整形数组、排序字符串的功能。首先,编写整形数组比较函数和字符串比较函数;其次,仿照qsort函数将首元素地址、元素个数、元素大小、比较函数 传参编写熟悉的冒...
  • Footmart_C
  • Footmart_C
  • 2016年06月05日 10:57
  • 661

qsort细节用法,double型的排序我竟然一直用错了~~~

转载:qsort细节用法,double型的排序我竟然一直用错了~~~  在对浮点或者double型的一定要用三目运算符,因为如果也使用整型那样的想减的话,如果是两个很接近的数则可能返回一个小...
  • aristolto
  • aristolto
  • 2015年11月16日 16:38
  • 1398

编写一个程序,用同一个函数名对n个数据进行从小到大排序,数据类型可以是整形,单精度,双精度。用重载函数实现

#include  #include using namespace std; int main() { int pl(int *q,int n); double pl(double *p,int n...
  • gan920hp
  • gan920hp
  • 2015年04月19日 21:43
  • 5368

2014年去哪儿网笔试题--给定一个整型数组,对这个整型数组排序,使得按序拼接数组各元素得到的值最小。

2014年去哪儿网笔试题--给定一个整型数组,对这个整型素组排序,使得按序拼接数组各元素得到的值最小。 我的大致思路是把这个整型数组转换成String数组,然后通过String类的compareTo方...
  • lands92
  • lands92
  • 2014年08月02日 09:47
  • 2107

使用sort方法对数组进行排序

/* (程序头部注释开始) * 程序的版权和版本声明部分 * Copyright (c) 2011, 烟台大学计算机学院学生 * All rights reserved. * 文件名称: ...
  • wfzczangpeng
  • wfzczangpeng
  • 2013年08月26日 17:06
  • 4333

对整形数组进行快速排序

快速排序就是首先找到一个基准点,之后把比它小的都放到左边(升序排序),把比它大的都放到右边去,然后把基准点归位到中间处,最后对数组中的前后两部分进行同样的步骤就可以完成快速排序。程序中用递归的方式来完...
  • A_stupid_dog
  • A_stupid_dog
  • 2016年06月23日 16:18
  • 555

编写一个使用数组类模板Array对数组进行排序、求最大值和求元素和的程序,并采用相关数据进行测试。

#include"iostream" #include"algorithm" #include"string.h" using namespace std; template class Array ...
  • u012651730
  • u012651730
  • 2013年12月07日 13:25
  • 1173

对俩个有序数组合并排序

/** * 算法学习 -- 两个有序数组合并排序 */ public class MergeArrayAndOrder { public static void main(String[...
  • linan_pin
  • linan_pin
  • 2017年06月05日 16:13
  • 192
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:对一个数组进行排序,这个数组可以是整型、浮点型
举报原因:
原因补充:

(最多只允许输入30个字)