Про метод пузырька
Здравствуйте. Изучал тут просторы Интернета по различным алгоритмам сортировок и нашел по-моему самую легкую: метод пузырька. И там приводится его код:
int main(int argc, char* argv[])
{
int arr[8] = {35, 698, 74, 81, 67, 11, 184, 89},i, flag;
for (; ;){
flag = 0;
for (i = 7; i>0; i--){
if (arr[i] < arr[i-1]) {
/* Обмен значениями смежных элементов */
swap (arr[i],arr[i-1]);
flag++;
}
}
/* Если массив упорядочен, то обмена не происходит и
мы выходим из цикла */
if (flag == 0) break;
for ( i=0;i<8;i++) {
cout << arr[i] << ' ';
}
cout << '\n';
}
getch();
return 0;
}
Вот у меня возник вопрос следующему участку в этом коде:
swap (arr[i],arr[i-1]);
Я понимаю, что эта функция производит обмен смежными значениями элементов массива, но вот она вроде бы не существует в языке С++. А самому написать данную функцию не получилось (почему-то значения не меняются, когда я из функции выхожу).
можете посоветовать похожую функцию или же написать реализацию данной функции?
15 комментариев
Добавить комментарий Подписаться на комментарииОтписаться от комментариев