Показаны сообщения с ярлыком массивы. Показать все сообщения
Показаны сообщения с ярлыком массивы. Показать все сообщения

вторник, 5 января 2010 г.

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

Входные данные - массив и его длина.
Выходные данные - отсортированный массив.

Исходный код на C++:

#include "iostream.h"
#include "stdio.h"

void bubbleSort(int array[], int col){
int temp=0;
for (int i=1; i for (int j=0; j if (array [j]>array [j+1]){
temp=array[j];
array [j]=array [j+1];
array [j+1]=temp;
}
}
}
}

void main(){
int i, size;
int *array;
cout << "Bubble Sort.\nEnter array dimension: ";
cin >> size;
array = new int[size];
cout << "Enter " << size << " elements: ";
for ( i = 0; i < size; i ++ ){
cin >> array[i];
}

bubbleSort( array, size );

cout << "Your array after sorting: ";
for ( i = 0; i < size; i ++ ){
cout << array[i] << " ";
}
cout << "\nPress \"Enter\" to continue..." << endl;
getchar();
}



Примеры использования (распечатка листинга):

Bubble Sort.
Enter array dimension: 13
Enter 13 elements: 3625 9834 726 126 7346 719 193 902 1 -34 8273 326 7236 723
Your array after sorting: -34 1 126 193 326 719 726 902 3625 7236 7346 8273 9834
Press "Enter" to continue...


Bubble Sort.
Enter array dimension: 8
Enter 8 elements: 456 123 123 938 736 736 913 444
Your array after sorting: 123 123 444 456 736 736 913 938
Press "Enter" to continue...

Исходный код на Pascal
Program bubble_sort;
const
max = 10000;
type myArray = array[0..max] of integer;
var dimension, i : integer;
arr, sortArray : myArray;

function bubbleSort( var arr : myArray; const length : integer ) : myArray;
var i, j, item : integer;
begin
for i := 1 to length-1 do begin
for j := 0 to length - i - 1 do begin
if arr[j] > arr[j+1] then begin
item := arr[j];
arr[j] := arr[j+1];
arr[j+1] := item;
end;
end;
end;
bubbleSort := arr;
end;

begin
writeln('Bubble Sort.');
write('Enter array dimension: '); readln( dimension );
write('Enter '); write( dimension ); write(' elements: ');
for i := 0 to dimension-1 do
read(arr[i]);
sortArray := bubbleSort( arr, dimension );
write('Sorting array: ');
for i := 0 to dimension-1 do begin
write( sortArray[i] ); write(' '); end;
writeln;
writeln('Press any key to continue...');
readln;
readln;
end.


Примеры использования (распечатка листинга):

Bubble Sort.
Enter array dimension: 8
Enter 8 elements: 72 6 51 23 90 91 21 565
Sorting array: 6 21 23 51 72 90 91 565
Press any key to continue...

Bubble Sort.
Enter array dimension: 6
Enter 6 elements: 8181 7354 3455 7835 273 3746
Sorting array: 273 3455 3746 7354 7835 8181
Press any key to continue...

Популярные алгоритмы для школьников, студентов, для учителей

Вот решил начать публикации с известных алгоритмов. Иногда искал сам на бескрайних просторах Интернета, но все не находил. Что то приходилось писать самому, что то брал из учебников по алгоритмизации, что то из других источников. Накопилоось огромное количество и своих, и чужих работ, алгоритмов и т.п. Решил сделать блог о репетиторстве и выкладывать популярные алгоритмы. Главное что на блоге можно что то спросить и получить квалифицированный ответ или от автора блога, либо от читателей. И главное не нужно регистрироваться и заморачиваться что бы получить лабу или какую нибудь помощь. Так что предлагаю обмениваться и делиться секретами информатики, алгоритмизации и программирования для студентов, школьников, аспирантов и преподавателей.
Начну пожалуй с алгоритмов работы с массивами. Т.к. по опыту репетиторства знаю, что это достаточно сложная тема и не все в ней понимают. И моя коллекция алгоритмов может помочь, а главное если что, Вы (читатели моего блога) можете спросить и получить совет или готовое решение. Надеюсь на комментарии и вопросы. Ну начнем пожалуй...