地理資訊系統1之快速排序 Quick Sort

2021-10-04 09:03:35 字數 1487 閱讀 2201

中心思想就是 隨機找乙個pivot(也就是隨機選擇乙個數) 然後左邊乙個指標,右邊乙個指標, 左指標往右移, 右指標往左移, 當左指標遇到比pivot大的數就停下, 當右指標遇到比pivot小的數也停下, 然後交換這兩個數.繼續移動這兩個指標,當左右指標相遇時(也就是指向同乙個數時)停下, 將這個數和pivot交換.此時pivot就已經完成了其排序.

剩下的數可以分為pivot左半邊和pivot右半邊,分別從這兩邊選擇pivot, 再重複操作,直到排序完成.

我的經驗是:

pivot的對側指標先移動.

我們老師講的快排有些不一樣, 左右指標可以交換順序, 也就是相遇後可以繼續移動,其實也是一樣的道理, pivot選最右側就和最終的左指標交換, 我用c++寫了一下:

//

// main.cpp

// cpppractice

//// created by macbook on 2020/3/24.

//#include

using

namespace std;

void

quicksort

(int a,

int,

int)

;int

main()

, k;

int len =

sizeof

(array)

/sizeof

(int);

cout <<

"the orginal arrayare:"

<< endl;

for(k =

0; k < len; k++

) cout << array[k]

<<

",";

cout << endl;

quicksort

(array,

0, len -1)

; cout <<

"the sorted arrayare:"

<< endl;

for(k =

0; k < len; k++

) cout << array[k]

<<

",";

cout << endl;

return0;

}void

quicksort

(int arr,

int left,

int right)

while

(l <= r && arr[r]

>= p)

if(l < r)

}swap

(arr[l]

, arr[right]);

quicksort

(arr, left, l -1)

;// 遞迴呼叫

quicksort

(arr, l +

1, right);}

}

地理資訊系統總結

地理資訊系統的構成結構 地理資訊系統主要由四部分組成 即計算機硬體系統,計算機軟體系統,空間資料及系統的組織和使用維護人員即使用者。其核心內容是計算機硬體和軟體,空間資料反應了應用地理資訊系統的資訊內容,使用者決定了系統的工作方式。計算機硬體系統是計算機系統中實際物理裝置的總稱,主要包括計算機主機,...

地理資訊系統 座標系統

gis的基本原則是 要在一起使用的圖層必須在空間上相互匹配,否則就會發生明顯錯誤 給使用者通常在平面上對地圖進行處理,這些地圖的要素代表地球表面空間要素的位置是用x軸和y軸表示的地理座標系統。地球表面的空間要素是基於經緯度表示的地理座標系統。所以專案一開始就需要確定統一的座標系統。地圖投影 就是從一...

QGIS(Quantum 地理資訊系統)介紹

地理資訊系統 gis,geographic information system qgis 原稱quantum gis 是乙個使用者介面友好的開源桌面端軟體,支援資料的視覺化 管理 編輯 分析以及印刷地圖的製作,並支援多種向量 柵格與資料庫格式及功能。qgis可執行在linux unix mac o...