Предмет:
ИнформатикаАвтор:
darrellmeltonОтвет:
Объяснение:
Шаблонная функция для обмена значений между двумя переменными:
css
Copy code
template<typename T>
void swap(T& a, T& b) {
T temp = a;
a = b;
b = temp;
}
Пример работы:
arduino
Copy code
int x = 5, y = 10;
swap(x, y);
// x = 10, y = 5
double a = 3.14, b = 2.71;
swap(a, b);
// a = 2.71, b = 3.14
char c1 = 'a', c2 = 'b';
swap(c1, c2);
// c1 = 'b', c2 = 'a'
Шаблонная функция для сортировки вставкой:
css
Copy code
template<typename T>
void insertionSort(T arr[], int n) {
int i, j;
T key;
for (i = 1; i < n; i++) {
key = arr[i];
j = i - 1;
while (j >= 0 && arr[j] > key) {
arr[j + 1] = arr[j];
j = j - 1;
}
arr[j + 1] = key;
}
}
Пример работы:
scss
Copy code
int arr1[] = { 3, 1, 4, 1, 5, 9, 2, 6, 5, 3 };
int n1 = sizeof(arr1) / sizeof(arr1[0]);
insertionSort(arr1, n1);
// arr1 = { 1, 1, 2, 3, 3, 4, 5, 5, 6, 9 }
double arr2[] = { 3.14, 2.71, 1.41, 1.73, 0.69 };
int n2 = sizeof(arr2) / sizeof(arr2[0]);
insertionSort(arr2, n2);
// arr2 = { 0.69, 1.41, 1.73, 2.71, 3.14 }
char arr3[] = { 'c', 'o', 'd', 'e', 'r' };
int n3 = sizeof(arr3) / sizeof(arr3[0]);
insertionSort(arr3, n3);
// arr3 = { 'c', 'd', 'e', 'o', 'r' }
Шаблонная функция для сортировки выбором:
css
Copy code
template<typename T>
void selectionSort(T arr[], int n) {
int i, j, min_idx;
for (i = 0; i < n - 1; i++) {
min_idx = i;
for (j = i + 1; j < n; j++)
if (arr[j] < arr[min_idx])
min_idx = j;
swap(arr[min_idx], arr[i]);
}
}
Пример работы:
scss
Copy code
int arr1[] = { 3, 1, 4, 1, 5, 9, 2, 6, 5, 3 };
int n1 = sizeof(arr1) / sizeof(arr1[0]);
selectionSort(arr1, n1);
// arr1 = { 1, 1, 2, 3, 3, 4, 5, 5, 6, 9 }
double arr2[] =
Автор:
karleyi7xfДобавить свой ответ
Предмет:
АлгебраАвтор:
landynharmonОтветов:
Смотреть
Предмет:
ИсторияАвтор:
leandronewmanОтветов:
Смотреть