Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <stdio.h>
- #define MAX 20
- /*
- 4 2 7 9 14 15 5 0 1 8 17 19 20 22 23 i=dim-l
- ** l'algoritmo del bubble_sort confronta il primo numero con il secondo,
- l'elmento a sinsitra conl'elemento a destra, se l'elmento a destra e maggiore vengono
- scambiati di posto questo il ragionamento che fa l'algoritmoquindi il secondo ciclo for
- quella della j scorre tutto il vettore fino a dim-1 effettuando tot scambi finche non
- trovera piu scambi da effettuare **
- FI: 2 4 7 9 14 15 5 0 1 8 17 19 20 22 (23) i= dim-2
- F2: 2 4 7 9 14 5 0 1 8 15 17 19 20 (22) 23 i=dim-3
- F3: 2 4 7 9 5 0 1 8 14 15 17 19 (20) 22 23 i=dim-4
- F4: 2 4 7 5 0 1 8 9 14 15 17 (19) 20 22 23 i=dim-5
- F5: 2 4 5 0 1 7 8 9 14 15 (17) 19 20 22 23 i=dim-6
- F6: 2 4 0 1 5 7 8 9 14 (15) 17 19 20 22 23 i=dim-7
- F7: 2 0 1 4 5 7 8 9 (14) 15 17 19 20 22 23 i=dim-8
- F8: 0 1 2 4 5 7 8 (9) 14 15 17 19 20 22 23 i=dim-9
- F9: 0 1 2 4 5 7 8 9 14 15 17 19 20 22 23
- */
- /* PROTOTIPO DI FUNZIONE */
- int lettura(int vettore[]);
- /* questo che vediamo di sotto e il prototipo del bubble_sort
- che e un algoritmo di riordinamento che opera su vettore di interi
- */
- void bubble_sort(int vett[], int dim);
- int main()
- {
- int v1[MAX], dim, i;
- dim=lettura(v1);
- /* STAMPA IL VETTORE */
- /* cioe i=dim-1 */
- printf("\nVettore:\n");
- for(i=0; i<dim; i++)
- {
- printf("%d ", v1[i]);
- }
- /* all'interno del main richiamiamo il bubble_sort */
- bubble_sort(v1, dim);
- printf("\nVettore Ordinato:\n");
- for(i=0; i<dim; i++)
- {
- printf("%d ", v1[i]);
- }
- return 0;
- }
- /* DEFINIZIONE DI FUNZIONE */
- /* FUNZIONE DI LETTURA */
- int lettura(int vettore[])
- {
- int i=0;
- FILE *fp;
- fp=fopen("numeri.txt", "r");
- while(!feof(fp))
- {
- fscanf(fp, "%d", &vettore[i]);
- i++;
- }
- fclose(fp);
- return i; /* ritorniamo i che e il numero di elementi letti
- inserendola nella dimensione dim all'interno del main con ** dim=lettura(v1); */
- }
- void bubble_sort(int vett[], int dim)
- {
- int i, j, temp;
- for(i=dim-1; i>0; i--)
- {
- for(j=0; j<i; j++)
- {
- /** scambiando > con < otterremo un ordinamento in maniera decrescente cioe dal piu grande al piu piccolo **/
- if(vett[j]>vett[j+1])
- {
- temp=vett[j];
- vett[j]=vett[j+1];
- vett[j+1]=temp;
- }
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement