Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лекции по Java.doc
Скачиваний:
836
Добавлен:
04.06.2015
Размер:
5.55 Mб
Скачать

Int n, vectorMin, vectorMax, temp;

String input, text;

// вызов диалогового окна ввода исходных данных

input=JOptionPane.showInputDialog("Нижняя граница диапазона vectorMin:");

// преобразование из строкового значения в целое

vectorMin=Integer.parseInt(input);

input=JOptionPane.showInputDialog("Верхняя граница диапазона vectoMax:");

vectorMax=Integer.parseInt(input);

input=JOptionPane.showInputDialog("Размер вектора n:");

n=Integer.parseInt(input);

// формирование строки вывода

text="Значения входных переменных:\nvectorMin=" + vectorMin +

"\nvectorMax=" + vectorMax + "\nn=" + n;

// вызов диалогового окна эхо-печати

JOptionPane.showMessageDialog(null, text);

//консольный вывод

System.out.printf("vectorMin=%d\nvectorMax=%d\nn=%d\n",

VectorMin, vectorMax, n);

// создание вектора длиной n элементов

int vector[]=new int[n];

//консольный вывод

System.out.println("Исходный вектор:");

/*

создание объекта Rand класса Random - генератора случ. чисел

инициализация генератора случайных чисел,

привязка его к системному времени

*/

Random Rand=new Random();

// создание вектора случайных чисел

for (int i=0; i<n; i++)

{

// получение очередного случайного числа в диапазоне

// от vectorMin до vectorMax

vector[i]=Rand.nextInt(vectorMax-vectorMin+1) + vectorMin;

//консольный вывод элемента вектора

System.out.printf(" %5d", vector[i]);

}

System.out.println();

// сортировка вектора методом "пузырька"

for (int j=n-2; j>=0; j--)

for (int i=0; i<=j; i++)

if (vector[i] > vector[i+1])

{

temp=vector[i];

vector[i]=vector[i+1];

vector[i+1]=temp;

}

System.out.println("Отсортированный вектор:");

//консольный вывод вектора

for (int i=0; i<n; i++)

System.out.printf(" %5d", vector[i]);

System.out.println();

}

}

В окне вывода появится:

vectorMin=-10

vectorMax=10

n=10

Исходный вектор:

10 -7 -1 3 -6 7 7 -1 9 -2

Отсортированный вектор:

-7 -6 -2 -1 -1 3 7 7 9 10

  1. Рассортировать элементы заданного случайным образом целочисленного вектора vector[n]методомШелла(обменная сортировка с убывающим шагом). В этом случае массив делится на группы подваэлемента и производится сортировка в каждой группе: максимальный элемент ставится на второе место. После этого массив делится на группы почетыреэлемента, и они снова сортируются. Количество элементов в сортируемой группе удваивается до тех пор, пока не остается одна группа, включающая все элементы массива, которая и сортируется окончательно:

package javaapplication6_1;

// импорт библиотеки графических компонентов Swing