mirror of
https://hub.njuu.cf/TheAlgorithms/C-Plus-Plus.git
synced 2023-10-11 13:05:55 +08:00
T template
This commit is contained in:
parent
fab9983afd
commit
89c8a6277d
@ -21,7 +21,8 @@
|
|||||||
* O(n^2)
|
* O(n^2)
|
||||||
* Some cases it works on O(n), but overall time is O(n^2)
|
* Some cases it works on O(n), but overall time is O(n^2)
|
||||||
*/
|
*/
|
||||||
void gnomeSort(int arr[], int size) {
|
template <class T>
|
||||||
|
void gnomeSort(T arr[], int size) {
|
||||||
// few easy cases
|
// few easy cases
|
||||||
if (size <= 1) return;
|
if (size <= 1) return;
|
||||||
|
|
||||||
@ -41,12 +42,17 @@ void gnomeSort(int arr[], int size) {
|
|||||||
* Our main function with example of sort method.
|
* Our main function with example of sort method.
|
||||||
*/
|
*/
|
||||||
int main() {
|
int main() {
|
||||||
|
// Example 1. Creating array of int,
|
||||||
int arr[] = {-22, 100, 150, 35, -10, 99};
|
int arr[] = {-22, 100, 150, 35, -10, 99};
|
||||||
int size = sizeof(arr) / sizeof(arr[0]);
|
int size = sizeof(arr) / sizeof(arr[0]);
|
||||||
|
|
||||||
gnomeSort(arr, size);
|
gnomeSort(arr, size);
|
||||||
|
for (int i = 0; i < size; i++) std::printf("%d ", arr[i]);
|
||||||
|
std:: cout << "\n" << std:: endl;
|
||||||
|
|
||||||
for (int i = 0; i < size; i++) printf("%d ", arr[i]);
|
// Example 2. Creating array of doubles.
|
||||||
|
double double_arr[6] = {-100.2, 10.2, 20.0, 9.0, 7.5, 7.2};
|
||||||
|
size = sizeof(double_arr) / sizeof(double_arr[0]);
|
||||||
|
gnomeSort(double_arr, size);
|
||||||
|
for (int i = 0; i < size; i++) std::cout << double_arr[i] << " ";
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user