排序演算法 暫無
//本題採用快速排序試試,練練手
#include
"bits/stdc++.h"
using
namespace std;
const
int maxn =
110;
//輸入的數字數,也就是長度
int n;
//儲存資料的陣列
int a[maxn]
;int
partition
(int a,
int left,
int right)
a[left]
= a[right]
;//將right賦值到左邊
while
(left != right && a[left]
<= temp)
a[right]
= a[left];}
//最後left等於right,這就是中心點應該在的地方
a[left]
= temp;
return left;
}void
quicksort
(int a,
int left,
int right)
}void
print
(int a,
int n)
printf
("\n");
}int
main()
quicksort
(a,1
,n);
print
(a,n);}
return0;
}
排序演算法有很多種,到底應該選哪種呢?
我們應該從時間複雜度和空間複雜度的角度去考慮,綜合選取合適的排序演算法;
其他需要注意的就是快速排序的一些**細節。。。
c++11與c++14日常寫題沒啥區別,大佬推薦c++14,它快一些。
華中科技大學 找位置
題目描述 對給定的乙個字串,找出有重複的字元,並給出其位置,如 abcaaab12ab12 輸出 a,1 a,4 a,5 a,10,b,2 b,11,1,8 1,12,2,9 2,13。輸入描述 輸入包括乙個由字母和數字組成的字串,其長度不超過100。輸出描述 可能有多組測試資料,對於每組資料,按照...
華中科技大學複試 成績排序
題目描述 有n個學生的資料,將學生資料按成績從低到高排序,如果成績相同則按姓名字元的字典序由小到大排序,如果姓名的字典序也相同則按照學生的年齡從小到大排序,並輸出n個學生排序後的資訊。輸入描述 測試資料有多組,每組輸入第一行有乙個整數n n 1000 接下來的n行包括n個學生的資料。每個學生的資料報...
華中科技大學複試 對稱矩陣
題目描述 輸入乙個n維矩陣,判斷是否對稱。輸入描述 輸入第一行包括乙個數 n 1 n 100 表示矩陣的維數。接下來的n行,每行包括n個數,表示n n矩陣的元素。輸出描述 可能有多組測試資料,對於每組資料,輸出 yes 表示矩陣為對稱矩陣。輸出 no 表示矩陣不是對稱矩陣。示例輸入4 16 19 1...