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

转载 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
  • 806

C语言编程实现,浮点型与字符数组相互转化

欢迎转载,请注明出处,本文地址:http://blog.csdn.net/jk050802/article/details/8628764 联系邮箱:yinfork@foxmail.com ...

整型数组处理算法(二)文件中有一组整数,要求排序后输出到另一个文件中

文件中有一组整数,要求排序后输出到另一个文件中, 一次读取一个sizeof(int),然后往一个int*数组里写入,写入的时候就比较,进行排序。 然后,在遍历数组,写到文件中。...

华为OJ——输入整型数组和排序标识,对其元素按照升序或降序进行排序

输入整型数组和排序标识,对其元素按照升序或降序进行排序 题目描述 输入整型数组和排序标识,对其元素按照升序或降序进行排序 接口说明 原型: void sortIntegerArray(Int...

【华为OJ】【052-输入整型数组和排序标识,对其元素按照升序或降序进行排序】

【华为OJ】【算法总篇章】【华为OJ】【052-输入整型数组和排序标识,对其元素按照升序或降序进行排序】【工程下载】题目描述输入整型数组和排序标识,对其元素按照升序或降序进行排序 输入描述1、输入需要...

输入整型数组和排序标识,对其元素按照升序或降序进行排序(华为OJ系列)

输入整型数组和排序标识,对其元素按照升序或降序进行排序接口说明原型:void sortIntegerArray(Integer[] pIntegerArray, int iSortFlag);输入参数...

输入整型数组和排序标识,对其元素按照升序或降序进行排序

题目描述: 输入整型数组和排序标识,对其元素按照升序或降序进行排序 接口说明 原型: void sortIntegerArray(Integer[] pIntegerArray, int ...
  • hnxijie
  • hnxijie
  • 2016年01月07日 21:50
  • 237

实现一个选择排序程序,排序整型数组

实现一个选择排序程序,排序整型数组。        首先明白什么是选择排序,选择排序是指,每一次在待排序数列中,选择一个最大的(或最小的)放到数列的最前端,然后再用这种方法排列后面的数列。    ...

使用qsort排序一个整型数组,一个浮点型数组,一个字符串数组

void show(const int *arr, int elems) { assert(arr != NULL && elems > 0); int i = 0; for (; i < el...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:对一个数组进行排序,这个数组可以是整型、浮点型
举报原因:
原因补充:

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