Так недавно я изучал структуры данных в C. Теперь давайте перейдем к моей проблеме
Вот мой код сортировки пузырьков Al go:
#include <conio.h>
#include <math.h>
#include <stdio.h>
#include <stdlib.h>
void swap(int *p, int *q) {
int temp = *p;
*p = *q;
*q = temp;
}
int main() {
int arr[] = {2, 4, 1, 3, 5, 2, 3, 6, 4}; // see below for arr
int len = sizeof(arr) / sizeof(int);
for (int i = len - 1; i >= 0; i--) {
for (int j = 0; j <= i; j++) {
if (arr[j] < arr[j + 1]) {
swap(&arr[j], &arr[j + 1]);
}
}
}
for (int m = 0; m < len; m++) {
printf("%d\t", arr[m]);
}
return 0;
}
, когда мой массив имеет вид: int arr[]={2,4,1,3,5,2,6,10};
это сортировка отлично, но когда я увеличиваю число значений в arr
на единицу, он начинает выдавать мусорное значение.
ex: int arr[]={2,4,1,3,5,2,6,10,13};
output: int arr[]={2,4,1,3,5,2,6,10};
Подробный Anwer Высоко оценен