#include <stdio.h>
#include <stdlib.h>
#define NMAX (10)
int main()
{
int vet[NMAX] = {0};
int n = 0, temp=0, scambio=0, x=0, n2=0, i=0;
//riempimento
do{
printf("Quanti elementi vuoi inserire? Max = %d\n", NMAX);
scanf("%d", &n);
}while(n > NMAX || n <= 0);
//inserimento elementi
for(int i = 0; i < n; i++){
printf("Inserisci l'elemento v[%d]:", i);
scanf("%d", &vet[i]);
}
/*
//BubbleSort (crescente) non ottimizzato
for(int k = 0; k < n-1; k++){
for(int i = 0; i < n-1; i++){
if(vet[i] > vet[i+1]){
temp = vet[i];
vet[i] = vet[i+1];
vet[i+1] = temp;
}
}
}
//BubbleSort ottimizzato (crescente)
#include <stdio.h>
#include <stdlib.h>
#define NMAX (10)
int main()
{
int vet[NMAX] = {0};
int n = 0, temp=0, scambio=0, x=0, n2=0, i=0;
//riempimento
do{
printf("Quanti elementi vuoi inserire? Max = %d\n", NMAX);
scanf("%d", &n);
}while(n > NMAX || n <= 0);
//inserimento elementi
for(int i = 0; i < n; i++){
printf("Inserisci l'elemento v[%d]:", i);
scanf("%d", &vet[i]);
}
/*
//BubbleSort (crescente) non ottimizzato
for(int k = 0; k < n-1; k++){
for(int i = 0; i < n-1; i++){
if(vet[i] > vet[i+1]){
temp = vet[i];
vet[i] = vet[i+1];
vet[i+1] = temp;
}
}
}
//BubbleSort ottimizzato (crescente)
do{
scambio = 0; //scambio = false;
for(i = 0; i < n-1; i++){
if(vet[i] > vet[i+1]){
temp = vet[i];
vet[i] = vet[i+1];
vet[i+1] = temp;
scambio = 1; //scambio = true
}
}
}while(scambio == 1);
//BubbleSort seconda ottimizzazione
do{
scambio = 0;
for(i = 0; i < n-1; i++){
if(vet[i] > vet[i+1]){
temp = vet[i];
vet[i] = vet[i+1];
vet[i+1] = temp;
scambio = 1;
}
}
--n; //in questo caso n rappresenta il numero di elementi non ordinati
}while(scambio == 1);
//BubbleSort terza ottimizzazione
n2 = n;
do{
scambio = 0;
-
Counting Sort, e confronto con Quick Sort
-
Appunti su Selection e Insertion Sort
-
Appunti su Bubble e Merge Sort
-
Appunti su Quick Sort