4

Bubble sort

  1. #include <stdio.h>
  2.  
  3. static void print( int tab[], const int siz )
  4. {
  5.     int i;
  6.     for ( i=0; i < siz; i++ )
  7.         printf((i < siz-1) ? "%d, " : "%d\n", tab[ i ]);
  8. }
  9.  
  10. #define SWAP(x, y) { int t = x; x = y; y = t; }
  11.  
  12. void sort( int tab[], const int siz )
  13. {   /* bubble sort */
  14.     int i, j;
  15.     for ( i=siz-1; i > 0; i-- ) {
  16.         print( tab, siz );
  17.         for ( j=0; j < i; j++ )
  18.             if ( tab[j] > tab[j+1] )
  19.                 SWAP( tab[j], tab[j+1] );
  20.     }
  21. }
  22.  
  23. main() {
  24.     int tab[] = { 5, 9, 8, 2, 9, 1, 6, 4, 3, 7, 1 };
  25.     int siz = sizeof (tab) / sizeof (int);
  26.  
  27.     printf("Sorting %d integers:\n", siz);
  28.     sort( tab, siz );
  29.     print( tab, siz );
  30. }

Comments

Your comment:
[p] [b] [i] [u] [s] [quote] [pre] [br] [code] [url] [email] strip help 2000

Enter a maximum of 2000 characters.
Improve the presentation of your text with the following formatting tags:
[p]paragraph[/p], [b]bold[/b], [i]italics[/i], [u]underline[/u], [s]strike[/s], [quote]citation[/quote], [pre]as is[/pre], [br]line break,
[url]http://www.izend.org[/url], [url=http://www.izend.org]site[/url], [email]izend@izend.org[/email], [email=izend@izend.org]izend[/email],
[code]command[/code], [code=language]source code in c, java, php, html, javascript, xml, css, sql, bash, dos, make, etc.[/code].