在C上对2d数组进行排序

Sort 2d array on C

本文关键字:排序 数组 2d 上对      更新时间:2023-10-16

如何使用C语言编写二维数组排序程序,而不使用指针。只循环和if语句,只使用main函数

数组

7  5  2
3  1  4
6  9  8

1  2  3
4  5  6
7  8  9

请如果你可以张贴一个示例代码:)谢谢大家

在发布此类问题之前尝试搜索网络。无论如何,这是c:

中的冒泡排序实现
#include <stdlib.h>
#include <stdio.h>
#include <time.h>
#define ARRAY_SIZE 20
void print_array(int *array) {
    int x;
    for(x = 0; x < ARRAY_SIZE; x++) {
        if(x != ARRAY_SIZE-1)
            fprintf(stdout, "%d, ", array[x]);
        else
            fprintf(stdout, "%dn", array[x]);
    }
}
int main() {
    int iarray[ARRAY_SIZE];
    int x, y, holder;
    // Seed rand()
    srand((unsigned int)time(NULL));
    for(x = 0; x < ARRAY_SIZE; x++)
        iarray[x] = (int)(rand() % 100);
    fprintf(stdout, "Before Sortn---------------n");
    print_array(iarray);  

    // Bubble sort method.
    for(x = 0; x < ARRAY_SIZE; x++)
        for(y = 0; y < ARRAY_SIZE-1; y++)
            if(iarray[y] > iarray[y+1]) {
                holder = iarray[y+1];
                iarray[y+1] = iarray[y];
                iarray[y] = holder;
            }
    fprintf(stdout, "nAfter Sortn---------------n");
    print_array(iarray);  
}

我猜你需要帮助的算法。您可以参考http://www.learncpp.com/cpp-tutorial/65-multidimensional-arrays/