對一個二維陣列中的資料排序
#define N 4
int FindMinLine(int Arr[][N], int CurrenLine) //找到陣列中從當前行開始的最小值所在行
{
int i = 0, j = 0;
int min_index = 0;
int min = 0; //假設的最小元素
min_index = CurrenLine;
min = Arr[CurrenLine][0];
for (i = CurrenLine; i < N; i++)
{
for (j = 0; j < N; j++)
{
if (min > Arr[i][j])
{
min = Arr[i][j];
min_index = i;
}
}
}
return min_index;
}
void Swap(int Arr[][N], int CurrenLine, int MinLine) //交換當前行和最小值所在行
{
int i = 0;
int temp = 0;
for (i = 0; i < N; i++)
{
temp = Arr[CurrenLine][i];
Arr[CurrenLine][i] = Arr[MinLine][i];
Arr[MinLine][i] = temp;
}
}
void Sort(int Arr[][N]) //對二維陣列進行排序
{
int i = 0;
int MinLine = 0; //最小行
for (i = 0; i < N - 1; i++) //最後一次一定是排序好的,所以是N-1
{
MinLine = FindMinLine(Arr, i); //先找到最小值所在行
Swap(Arr, i, MinLine); //交換當前行和最小值所在行
}
}
void PrintArr(int Arr[][N]) //列印二維陣列
{
int i = 0;
int j = 0;
for (i = 0; i < N; i++)
{
for (j = 0; j < N; j++)
{
printf ("%d ", Arr[i][j]);
}
printf ("\n");
}
}
int main()
{
int Arr[N][N] = {51,40,43,51, 6,5,48,9, 74,31,35,4, 86,15,64,165};
Sort(Arr);
PrintArr(Arr);
return 0;
}
相關推薦
對一個二維陣列中的資料排序
#include <stdio.h> #define N 4 int FindMinLine(int Arr[][N], int CurrenLine) //找到陣列中從當前行開始的最小值所在行 {int i = 0, j = 0;int min_index = 0;int min = 0;
劍指off:在一個二維陣列中(每個一維陣列的長度相同),每一行都按照從左到右遞增的順序排序,每一列都按照從上到下遞增的順序排序。請完成一個函式,輸入這樣一個二維陣列和一個整數,判斷陣列中是否含有該整數
題目描述 在一個二維陣列中(每個一維陣列的長度相同),每一行都按照從左到右遞增的順序排序,每一列都按照從上到下遞增的順序排序。請完成一個函式,輸入這樣的一個二維陣列和一個整數,判斷陣列中是否含有該整數。 思路: 從左下角x開始尋找,x為此列最大數字,此行最小數字。如果目
在一個二維陣列中(每個一維陣列的長度相同),每一行都按照從左到右遞增的順序排序,每一列都按照從上到下遞增的順序排序。請完成一個函式,輸入這樣的一個二維陣列和一個整數,判斷陣列中是否含有該整數。
public class Solution { public boolean Find(int target, int [][] array) { int row=0
在一個二維陣列中(每個一維陣列的長度相同),每一行都按照從左到右遞增的順序排序,每一列都按照從上到下遞增的順序排序。請完成一個函式,輸入這樣的一個二維陣列和一個整數,判斷陣列中是否含有該整數
class Solution { public: bool Find(int target, vector<vector<int> > array) { if(array.size() !=0) { int
在一個二維陣列中,每一行都按照從左到右遞增的順序排序,每一列都按照從上到下遞增的順序排序。請完成一個函式,輸入這樣的一個二維陣列和一個整數,判斷陣列中是否含有該整數。
public class Solution { public boolean Find(int target, int [][] array) { //判斷陣列是否為空
java 劍指offer 第一題:在一個二維陣列中,每一行都按照從左到右遞增的順序排序,每一列都按照從上到下遞增的順序排序。請完成一個函式,輸入這樣的一個二維陣列和一個整數,判斷陣列中是否含有該整數。
我用了三種解法,全部都可以在牛客網上通過。 第一種解法是最簡單的,遍歷整個二維陣列找那個整數; 第二種和第三種都是根據二維陣列有序的特性進行查詢,第二種方法是從左下角開始查詢,大於左下角刪除一行,小於左下角刪除一列;第三種是從右上角開始查詢,大於右上角刪除一行,小於右上角的
題目:在一個二維陣列中,每一行都按照從左到右遞增的順序排序,每一列都按照從上到下遞增的順序排序。請完成一個函式,輸入這樣的一個二維陣列和一個整數,判斷陣列中是否含有該整數。(Python實現)
''' 題目: 在一個二維陣列中,每一行都按照從左到右遞增的順序排序,每一列都按照從上到下遞增的順序排序。 請完成一個函式,輸入這樣的一個二維陣列和一個整數,判斷陣列中是否含有該整數。 ''' '''
在一個二維陣列中,每一行都按照從左到右遞增的順序排序,每一列都按照從上到下遞增的順序排序。請按成 一個函式,輸入這樣一個二維陣列和一個整數,判斷陣列中是否含有該整數
</pre><pre name="code" class="cpp"><span style="font-size:18px;">#include<iostream> using namespace std; bool IsExitNum(int arr[][5
·在一個二維陣列中(每個一維陣列的長度相同),每一行都按照從左到右遞增的順序排序,每一列都按照從上到下遞增的順序排序。請完成一個函式,輸入這樣的一個二維陣列和一個整數,判斷陣列中是否含有該整數。
題目 在一個二維陣列中(每個一維陣列的長度相同),每一行都按照從左到右遞增的順序排序,每一列都按照從上到下遞增的順序排序。請完成一個函式,輸入這樣的一個二維陣列和一個整數,判斷陣列中是否含有該整數。 分析 例如這樣一個數列: 要在裡面查詢是否存在7。按照平常的思維
Python實遍歷二維陣列題目一:在一個二維陣列中,每一行都按照從左到右遞增的順序排序,每一列都按照從上到下遞增的順序排序。請完成一個函式,輸入這樣的一個二維陣列和一個整數,判斷陣列中是否含有該整數。
在準備國網的過程中,仍要刷題,程式設計題。痛並快樂著。喜歡Python語言,所以用Python進行敲磚頭。劍指offer題目一:在一個二維陣列中,每一行都按照從左到右遞增的順序排序,每一列都按照從上到下遞增的順序排序。請完成一個函式,輸入這樣的一個二維陣列和一個整數,判斷陣列
Java 一個二維陣列中,每一行都按照從左到右遞增的順序排序,每一列都按照從上到下遞增的順序排序。判斷陣列中是否含有某個整數。
開始刷牛客題目:思路:題目已知:二維陣列由上到下,由左到右遞增的規律,那麼選取右上角(或者左下角)的元素a[row][col]與target進行比較,當target小於元素a[row][col]時,那麼target必定在元素a所在行的左邊,即col--;當target大於元素
牛客網劍指offer—題目一在一個二維陣列中,每一行都按照從左到右遞增的順序排序,每一列都按照從上到下遞增的順序排序。請完成一個函式,輸入這樣的一個二維陣列和一個整數,判斷陣列中是否含有該整數
在一個二維陣列中,每一行都按照從左到右遞增的順序排序,每一列都按照從上到下遞增的順序排序。請完成一個函式,輸入這樣的一個二維陣列和一個整數,判斷陣列中是否含有該整數。 思路:因為是隻需判斷有無該整數,所以用bool函式,返回false或true 假設是這樣一個數組
在一個二維陣列中(每個一維陣列的長度相同),每一行都按照從左到右遞增的順序排序,
在一個二維陣列中(每個一維陣列的長度相同),每一行都按照從左到右遞增的順序排序,每一列都按照從上到下遞增的順序排序。請完成一個函式
C++找出一個二維陣列中的鞍點,即該位置上的元素在該行上最大,在該列上最小(也可能沒有鞍點)
今日正式用csdn部落格記錄,回顧我所學到的知識,分享一些我的人生感悟和自身經歷。也希望未來通夠過此平臺和更多喜愛程式設計的人交流學習。 道聽途說再加上自己的感悟,認為程式設計最重要的是思想,而不是語言本身,語言只是個工具。所以我們得先學思想。遇到問題,應該先想如果是自己去做會怎麼處理,但我們不
返回一個二維陣列中最大子陣列的和
題目:返回一個二維整數陣列中最大子陣列的和。要求:輸入一個二維整形陣列,數組裡有正數也有負數。二維陣列中連續的一個子矩陣組成一個子陣列,每個子陣列都有一個和。求所有子陣列的和的最大值。 思路:先求每一行一維陣列所有子陣列的和的最大值,再與下面的其他行的最大值進行比較,看是否能重新生成一個新的陣列,如果能,返
c語言 將一個二維陣列行和列的元素互換,存到另一個二維陣列中
分享一下我老師大神的人工智慧教程!零基礎,通俗易懂!http://blog.csdn.net/jiangjunshow 也歡迎大家轉載本篇文章。分享知識,造福人民,實現我們中華民族偉大復興!  
判斷一個二維陣列的資料是否在另外一個二維數組裡重複
當我最先碰到這個問題是工作中批量匯入資料,防止裡面有資料跟資料庫裡原有的重複。 大多數人想到的是挨個迴圈對比,感覺這樣速度有點慢,所以根據php函式來解決的 $new_cand_idcard = array_column( $cands, 'cand_idcard'
在一個二維陣列中,每一行都按照從左到右遞增的順序排列,每一列都按照從上到下遞增的順序排列,請完成一個函式,輸入這樣的一個二維陣列和一個整數,判斷陣列中是否含有該整數。
c++程式碼#include<iostream> #include<iomanip> using namespace std; void find(int *matrix, int rows, int cols, int k) { if (mat
mysql中如何將查詢結果的多個記錄中的指定欄位放到一個二維陣列中,以及在in子句中使用陣列
$sql0="select * from portals_channel where ch_use=1 and tid=5 and (chid<>31 and chid<>39 and chid<>44 )"; $query0=e
找出一個二維陣列中的“鞍點”,即該位置上的元素在該行中 最大,在該列中最小(也可能沒有“鞍點”),列印有關資訊。(提示:注意特 殊情況:沒鞍點或多個鞍點)
#import <Foundation/Foundation.h> #define ROW 3 #define COL 4 int main(int argc, constchar *