Полный набор углубленного изучения массивов Java — продвинутые знания, этап 1, сортировка выбором
Оглавление
Конкретный процесс сортировки при сортировке выбором
Особый процесс отбора и сортировки
Общая ссылка на статью:https://laoshifu.blog.csdn.net/article/details/134906408
Важность изучения массивов
Массивы — одна из структур данных, которую нам предстоит освоить, и они нам очень помогут в будущем.
- Повышение эффективности программы. Массив — это эффективная структура данных, позволяющая быстро получать доступ к данным и изменять их. В реальном производстве и быту массивы широко используются в различных сценариях, требующих эффективной обработки данных, таких как обработка изображений, научные вычисления, финансовый анализ и т. д. Изучая массивы, учащиеся могут более эффективно обрабатывать данные и повышать эффективность выполнения программ.
- Расширение возможностей программирования: Массивы являются одной из наиболее часто используемых структур данных в программировании.Освоение использования массивов очень важно для студентов, чтобы улучшить свои навыки программирования. В реальном процессе программирования использование массивов очень распространено.Освоение использования массивов может помочь студентам стать более опытными в программировании и повысить эффективность программирования и качество кода.
- Развивайте логическое мышление: массив — это абстрактная структура данных. Изучая массивы, учащиеся могут развивать свои способности к логическому мышлению. При реальном решении задач многие задачи могут быть преобразованы в задачи обработки массивов. Изучая массивы, учащиеся могут более четко думать о проблемах и находить эффективные решения.
Изучение массивов может оказаться довольно сложной задачей для студентов, но если вы продолжите учиться, вы сможете справиться с этой задачей. Вот несколько слов поддержки для студентов, изучающих массивы:
- Массивы являются основой программирования, и овладение использованием массивов очень важно для того, чтобы стать хорошим программистом.
- Изучение массивов может быть трудным, но если вы будете придерживаться этого, вы сможете освоить это.
- Изучая массивы, вы сможете более эффективно обрабатывать данные, повышать эффективность выполнения программ и проявлять свои способности к программированию.
- Массивы широко используются. Освоение их использования может улучшить вашу будущую учебу и работу.
- Поверьте в себя, вы сможете освоить использование массивов и стать отличным программистом!
Конкретный процесс сортировки при сортировке выбором
Сортировка выбором — это простой и интуитивно понятный алгоритм сортировки. Принцип его работы заключается в том, чтобы каждый раз выбирать наименьший (или наибольший) элемент из элементов данных, подлежащих сортировке, и сохранять его в начале последовательности до тех пор, пока все элементы данных, подлежащие сортировке, не будут упорядочены.
Конкретный процесс сортировки выглядит следующим образом:
Найдите самый маленький (или самый большой) элемент в несортированной последовательности и сохраните его в начале отсортированной последовательности.
Затем продолжайте находить самый маленький (или самый большой) элемент среди оставшихся неотсортированных элементов, а затем помещайте его в конец отсортированной последовательности.
Повторяйте второй шаг, пока все элементы не будут отсортированы.
Например, для целочисленного массива [64, 25, 12, 22, 11] конкретный процесс сортировки выбором выглядит следующим образом:
Раунд 1: Найдите наименьший элемент 11, поменяйтесь местами с первым элементом 64 и получите [11, 25, 12, 22, 64].
Раунд 2: Найдите среди оставшихся элементов наименьший элемент 12, поменяйтесь местами со вторым элементом 25 и получите [11, 12, 25, 22, 64].
Раунд 3: Найдите наименьший элемент 22 среди оставшихся элементов, поменяйтесь местами с третьим элементом 25 и получите [11, 12, 22, 25, 64].
Раунд 4: Нет необходимости сравнивать оставшиеся элементы, поскольку последний элемент должен быть самым большим. Так получается окончательный результат сортировки [11, 12, 22, 25, 64].
Во время сортировки выбором каждый раунд находит наименьший (или наибольший) элемент текущего несортированного раздела и заменяет его первым элементом несортированного раздела. Таким образом, после каждого раунда первый элемент неотсортированной части будет разделительной линией между отсортированной и неотсортированной частями.
public class Demo1 {
public static void main(String[] args) {
// 定义待排序的数组
int[] arr = { 64, 25, 12, 22, 11 };
// 打印排序前的数组
System.out.println("排序前的数组:");
for (int num : arr) {
System.out.print(num + " ");
}
System.out.println();
// 执行选择排序算法
int n = arr.length;
// 遍历数组,进行n-1轮比较和交换
for (int i = 0; i < n - 1; i++) {
// 找到当前未排序部分中的最小元素索引
int minIndex = i;
for (int j = i + 1; j < n; j++) {
if (arr[j] < arr[minIndex]) {
minIndex = j;
}
}
// 将找到的最小元素与未排序部分的第一个元素交换位置
int temp = arr[i];
arr[i] = arr[minIndex];
arr[minIndex] = temp;
}
// 打印排序后的数组
System.out.println("排序后的数组:");
for (int num : arr) {
System.out.print(num + " ");
}
}
}
Особый процесс отбора и сортировки
Ниже приведен пример использования непрерывных изменений массива для представления сортировки выбором. Мы выполним сортировку выбором в массиве [64, 25, 12, 22, 11]:
Массив перед сортировкой: [64, 25, 12, 22, 11]
Раунд 1:
Найдите самый маленький элемент 11 и поменяйтесь местами с первым элементом 64.
[11, 25, 12, 22, 64]
Раунд 2:
Найдите среди остальных элементов самый маленький элемент 12 и поменяйтесь местами со вторым элементом 25.
[11, 12, 25, 22, 64]
Раунд 3:
Найдите среди остальных элементов самый маленький элемент 22 и поменяйтесь местами с третьим элементом 25.
[11, 12, 22, 25, 64]
Раунд 4:
Оставшиеся элементы сравнивать не нужно, поскольку последний элемент должен быть самым большим.
[11, 12, 22, 25, 64]
Сортированный массив: [11, 12, 22, 25, 64]
Таким образом, посредством непрерывных изменений массива мы демонстрируем процесс сортировки выбором. В каждом раунде мы находим наименьший элемент текущей неотсортированной части и меняем его местами с первым элементом неотсортированной части. Наконец получите отсортированный массив.