在C中按行排序矩阵

时间:2018-02-21 23:28:03

标签: c sorting matrix row

我被要求在给定行数,列数和指向矩阵的第一个元素(左上角元素)的指针的情况下对矩阵的每一行进行排序。以下是完整的问题:Homework Question

到目前为止,我已经能够提出这个代码:

void SortRowsOfMatrix(int rows, int columns, float* first_element) {
   for (int i = 0; i < rows; ++i) {
      for (int j = 0; j < columns; ++j) {
         for (int k = j + 1; k < columns; ++k) {
           if (first_element[i + j] > first_element[i + k]) {
             float temp = first_element[i + j];
             first_element[i + j] = first_element[i + k];
             first_element[i + k] = temp;
           }
         }
      }
   }
}

手动追踪代码后,我注意到函数将对矩阵的第一行进行排序,但只对第一行进行排序。我已经尝试修改代码来对剩余的行进行排序,但到目前为止我没有运气。

0 个答案:

没有答案