黑马程序员技术交流社区

标题: 关于二维数组的排序问题 [打印本页]

作者: wc88212    时间: 2016-7-27 20:57
标题: 关于二维数组的排序问题
使用方法为冒泡
[C] 纯文本查看 复制代码
#include <stdio.h>
void bubbleByArr(int rows,int cols,int arr[][cols])
{
    int i,j,temp=0;
    //遍历这个二维数组,为其赋值
    for(i=0; i<rows; i++)
        for(j=0; j<cols; j++)
        {
            printf("请输入:\n");
            scanf("%d", &arr[j]);
        }
    //冒泡排序
    for(i=0;i<cols*rows-1;i++)
    {
        for(j=0;j<rows*cols-i-1;j++)
        {
            //j/cols代表二维数组的元素位于第几个排
            //j%cols代表二维数组的元素位于当前排的哪一列
            if(arr[j/cols][j%cols]<arr[(j+1)/cols][(j+1)%cols])
            {
                temp = arr[j/cols][j%cols];
                arr[j/cols][j%cols] = arr[(j+1)/cols][(j+1)%cols];
                arr[(j+1)/cols][(j+1)%cols] = temp;
            }
        }
    }
    for(i=0;i<rows;i++)
    {
        for(j=0;j<cols;j++)
        {
            printf("arr[%d][%d] = %d\n",i,j,arr[j]);
        }
    }
}


作者: 白小七    时间: 2016-7-27 21:54
用指针简单很多
作者: 白小七    时间: 2016-7-27 21:55
用指针简单
作者: anan安    时间: 2016-7-27 22:05
加油不错不错!!
作者: 行路难    时间: 2016-7-28 16:05
加油!用指针要更简单一些!
作者: nblity007    时间: 2016-7-29 22:18
指针......
作者: Chenjunfeng    时间: 2016-7-30 12:55
踏实复习




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2