From f07406ea34500bb9b0f622efe7ca3f63dedf01ac Mon Sep 17 00:00:00 2001 From: huihut Date: Thu, 29 Mar 2018 10:41:09 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E9=80=89=E6=8B=A9=E6=8E=92?= =?UTF-8?q?=E5=BA=8F=E6=A8=A1=E6=9D=BF=E5=AE=9E=E7=8E=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .vscode/settings.json | 6 +++++- Algorithm/SelectionSort.h | 8 +++++--- 2 files changed, 10 insertions(+), 4 deletions(-) diff --git a/.vscode/settings.json b/.vscode/settings.json index e627288..2562181 100644 --- a/.vscode/settings.json +++ b/.vscode/settings.json @@ -12,6 +12,10 @@ "tuple": "cpp", "system_error": "cpp", "xtr1common": "cpp", - "limits": "cpp" + "limits": "cpp", + "exception": "cpp", + "fstream": "cpp", + "map": "cpp", + "utility": "cpp" } } \ No newline at end of file diff --git a/Algorithm/SelectionSort.h b/Algorithm/SelectionSort.h index 47721f9..f6cd6b5 100644 --- a/Algorithm/SelectionSort.h +++ b/Algorithm/SelectionSort.h @@ -25,11 +25,13 @@ void SelectionSort(vector& v) { // 模板实现 template void Selection_Sort(std::vector& arr) { - for (int i = 0; i < arr.size() - 1; i++) { + int len = arr.size(); + for (int i = 0; i < len - 1; i++) { int min = i; - for (int j = i + 1; j < arr.size(); j++) + for (int j = i + 1; j < len; j++) if (arr[j] < arr[min]) min = j; - std::swap(arr[i], arr[min]); + if(i != min) + std::swap(arr[i], arr[min]); } } \ No newline at end of file