給出乙個二維陣列,請將這個二維陣列按第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...