Visualizzazione dei risultati da 1 a 3 su 3
  1. #1

    [C] Problema sort

    codice:
    #include <stdio.h>
    
    void sort(int [], int);
    void printv(int [], int);
    
    int main(int argc)
    {
    	int v[] = {4, 9, 2, 3, 6, 1};
    	printv(v, 5);
    	puts(" == ");
    	sort(v, 5);
    	puts(" == ");
    	printv(v, 5);
    	return 0;
    } 
    
    void sort(int v[], int size)
    {
    	int i, tmp;
    	for(i = 0; i < size; i++)
    	{
    		if(v[i] < v[i+1])
    		{
    			printf("%d => %d\n", v[i], v[i+1]);
    			tmp = v[i+1];
    			v[i+1] = v[i];
    			v[i] = tmp;
    		}
    		if(v[i] > v[i-1])
    		{
    			printf("%d => %d\n", v[i], v[i+1]);
    			tmp = v[i-1];
    			v[i-1] = v[i];
    			v[i] = tmp;
    		}
    	}
    }
    
    void printv(int v[], int size)
    {
    	int i;
    	for(i = 0; i < size; i++)
    	{
    		printf("%d\n", v[i]);
    	}
    
    }
    Mi da come out:

    codice:
      
    ouroboros@ouroboros-desktop:~/Desktop$ gcc -O2 -s -o Out sort.c
    ouroboros@ouroboros-desktop:~/Desktop$ ./Out
    4
    9
    2
    3
    6
     ==
    4 => 9
    2 => 3
    2 => 6
    6 => 2
     ==
    9
    4
    6
    3
    2
    Cosa sbaglio(è da un po che non tocco C...)???

    Tnks
    La stupidità umana e l'universo sono infinite.
    Della seconda non sono certo(Einstein)

    Gnu/Linux User

  2. #2
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,254

    Re: [C] Problema sort

    Originariamente inviato da Luc@s
    codice:
    void sort(int v[], int size)
    {
    	int i, tmp;
    	for(i = 0; i < size; i++)
    	{
    		if(v[i] < v[i+1])
    		{
    			printf("%d => %d\n", v[i], v[i+1]);
    			tmp = v[i+1];
    			v[i+1] = v[i];
    			v[i] = tmp;
    		}
    		if(v[i] > v[i-1])
    		{
    			printf("%d => %d\n", v[i], v[i+1]);
    			tmp = v[i-1];
    			v[i-1] = v[i];
    			v[i] = tmp;
    		}
    	}
    }
    Per fare un "bubble-sort" servono 2 cicli annidati e lo swap va fatto solo in una condizione.
    http://en.wikipedia.org/wiki/Bubble_sort
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    Java Versions Cheat Sheet

  3. #3
    io l'ho scritto senza sapere cosa fare...ho provato a vedere cosa avrei fatto su carta e l'ho trasposto...
    Cmq tnks..
    La stupidità umana e l'universo sono infinite.
    Della seconda non sono certo(Einstein)

    Gnu/Linux User

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2024 vBulletin Solutions, Inc. All rights reserved.