Data de publicació: Feb 07, 2017 7:24:35 PM
How to sort an array using the bubble method
#include <stdio.h>
#define MAX 100
int main(){
int V[MAX];
int i, j, n, tmp;
printf("N? ");
scanf("%d",&n);
for ( i = 0; i < n; i++ ){
printf("Valor[%d]? ", i);
scanf("%d",&V[i]);
}
for ( i = 0; i < n-1; i++ ){
for ( j = i+1; j < n; j++ ){
if(V[i]>V[j]){
tmp = V[i];
V[i] = V[j];
V[j] = tmp;
}
}
}
for ( i = 0; i < n; i++) printf("V[%d] = %d \n", i, V[i]);
}
The same algorithm trying to be more comprehensive in its execution
#include <stdio.h>
#define MAX 100
int main(){
int V[MAX];
int i, j, n, tmp;
int k;
printf("N? ");
scanf("%d",&n);
for ( i = 0; i < n; i++ ){
printf("Valor[%d]? ", i);
scanf("%d",&V[i]);
}
//Array before to be sorted
printf("\nArray to be sorted\n");
printf("(%d,%d) ", i, j );
for ( k = 0; k < n; k++) printf("%d, ", V[k]);
printf("\n\n\n");
//Start sorting
for ( i = 0; i < n-1; i++ ){
for ( j = i+1; j < n; j++ ){
if(V[i]>V[j]){
tmp = V[i];
V[i] = V[j];
V[j] = tmp;
}
//Printing sorting
printf("(%d,%d) ", i, j );
for ( k = 0; k < n; k++) printf("%d, ", V[k]);
printf("\n");
}
}
//Array after being sorted
printf("\n\n\n");
printf("Sorted array\n");
printf("(%d,%d) ", i, j );
for ( k = 0; k < n; k++) printf("%d, ", V[k]);
printf("\n");
}
$ ./sort_bubble
N? 5
Valor[0]? 5
Valor[1]? 4
Valor[2]? 3
Valor[3]? 2
Valor[4]? 1
Array to be sorted
(5,0) 5, 4, 3, 2, 1,
(0,1) 4, 5, 3, 2, 1,
(0,2) 3, 5, 4, 2, 1,
(0,3) 2, 5, 4, 3, 1,
(0,4) 1, 5, 4, 3, 2,
(1,2) 1, 4, 5, 3, 2,
(1,3) 1, 3, 5, 4, 2,
(1,4) 1, 2, 5, 4, 3,
(2,3) 1, 2, 4, 5, 3,
(2,4) 1, 2, 3, 5, 4,
(3,4) 1, 2, 3, 4, 5,
Sorted array
(4,5) 1, 2, 3, 4, 5,