二維陣列的列排序

2021-12-29 23:38:26 字數 689 閱讀 2890

給出乙個二維陣列,請將這個二維陣列按第i列(i從1開始)排序,如果第i列相同,則對相同的行按第i+1列的元素排序,如果第i+1列的元素也相同,則繼續比較第i+2列,以此類推,直到最後一列。如果第i列到最後一列都相同,則按原序排列。

實現以下介面:

輸入乙個m*n 的整數陣列,實現按規則排列,返回排列後的陣列。

呼叫者會保證:

比如輸入陣列為:

1,2,3

2,3,4

2,3,1

1,3,1

按第二列排序:

輸出:1,2,3

2,3,1

1,3,1

2,3,4

分析:從最後一列開始使用穩定的排序演算法(必須是穩定,可採用氣泡排序)排序,一直排序到指定的列為止。

程式**如下:

// 功能:排列乙個m行n列 大小的陣列

// 輸入: int * parray 指向陣列第乙個元素的指標,m為行數, n為列數 ,請按第i列排列

// 輸出:按第i列排序完成後的陣列放到入參指定的位址中 (i的取值範圍 1 - n)

// 返回:

void rangearray(int * parray,unsigned int m, unsigned int n,unsigned int i)}}

if(column==0)

break;

}}

二維陣列排序

一維陣列排序可以使用asort 公升序 ksort 降序 二維陣列排序可以使用array mutisort和usort進行排序 users array array id 1,age 12 array id 2,age 13 array id 3,age 44 array id 4,age 22 ar...

PHP陣列排序,一維陣列,二維陣列排序。

一維陣列排序 1 sort,rsort排序 r reverse表示翻轉,即為降序排列 通過鍵值排序。arr array 10,2,4,1,5,8,7,9 等效於 arr array 0 10,1 2,2 4,3 1,4 5,5 8,6 7,7 9 預設的排序,按鍵值公升序排序,鍵名被從新規定,例如1...

二維陣列快速排序

function quick sort array,bykey 1,descorasc 1 left arr quick sort left arr,bykey,descorasc right arr quick sort right arr,bykey,descorasc return array...