Домашние задания: Другие предметы

Объясните пожалуйста, как отсортировать массив методом пузырька. как можно подробнее

Вот на паскале, например:

var
a:array[1..100] of integer;
i,j,n,buf:integer;
begin
read(n);
for i:=1 to n do
begin
read(a[ i ]);
end;
for i:=1 to n-1 do
for j:=i+1 to n do
if a[ i ]>a[j] then
begin
buf:=a [ i ];
a [ i ]:=a[j];
a[j]:=buf;
end;
writeln;
writeln('Массив после сортировки пузырьковым методом: ');
for i:=1 to n do
write(a [ i ],' ');
readln;readln
end.

При сортировке массива методом пузырька, сравниваются два соседних элемента массива. В том случае, если элемент массива с номером i оказывается больше элемента массива с номером i+1, происходит обмен значениями при помощи вспомогательной переменной buf.
Па
Пашка
93 434
Лучший ответ
прикольно на самом деле
Смотри на метод bubbleSort()
 // Программа сортирует строки, которые ввел пользователь, в лексикографическом порядке. 
class BubbleSort {
String array[];

BubbleSort(int actualSize) {
array = new String[actualSize];
}


String getString() throws java.io.IOException {
char symbol;
String string = "";

do {
symbol = (char) System.in.read();
if(symbol != '\n') {
string = string + symbol; // Конкатенация.
}
} while(symbol != '\n');
return string;

}

// Сортировка.
void bubbleSort(int usedSize) {
usedSize = usedSize - 1;
String buffer;

for(int pass = 0; pass < usedSize; pass++) { // Повторение сортировки.
con:
for(int i = 0; i < usedSize; i++) { // i - индекс элемента массива.
for(int j = 0; (j < array[i].length()) && (j < array[i+1].length()); j++) { // j - индекс строки.
if(array[i].charAt(j) > array[i+1].charAt(j)) { // Псевдообмен строк индексами.
buffer = array[i];
array[i] = array[i+1];
array[i+1] = buffer;
continue con;
} else if(array[i].charAt(j) < array[i+1].charAt(j)) {
continue con;
}
}
if(array[i].length() > array[i+1].length()) {
buffer = array[i];
array[i] = array[i+1];
array[i+1] = buffer;
}
}
}

}

void result(int usedSize) {
for(int i = 0; i < usedSize; i++) { // i - индекс элемента массива.
System.out.println((i+1) + ". " + array[i]);
}

}
}


class Main {
public static void main(String args[]) throws java.io.IOException {
int usedSize;
BubbleSort sort = new BubbleSort(99);

for(usedSize = 0; ; usedSize++) {
String string = sort.getString();
if(string.equals("exit")) {
break;
}
sort.array[usedSize] = string;
}

System.out.println("Неотсортированный массив:");
sort.result(usedSize);

sort.bubbleSort(usedSize);

System.out.println("Отсортированный массив:");
sort.result(usedSize);

}
}