Tilbage til slide -- Tastaturgenvej: 'u'        næste -- Tastaturgenvej: 'n'          arrays/bubble-sort.c - Hele 'bubble sort' programmet - med løbende udskrift af arrayet.Lektion 9 - slide 18 : 30
Program 1

#include <stdio.h>

void   bubble_sort(int a[], int n);
void   prn_array(char* s, const int a[], int n);
void   swap(int *p, int *q);

int main(void){
  int   a[] = {7, 3, 66, 3, -5, 22, -77, 2};
  int   n;

  n = sizeof(a) / sizeof(int);         /* Notice how the size of a is found */
  prn_array("Before", a, n);
  bubble_sort(a, n);                   
  prn_array(" After", a, n);
  putchar('\n');
  return 0;
}

void bubble_sort(int a[] , int n){     /* n is the size of a[] */
   int   i, j;

   for (i = 0; i < n - 1; ++i){
     for (j = n - 1; j > i; --j)
       if (a[j-1] > a[j])
          swap(&a[j-1], &a[j]);
     prn_array("During", a, n);
   }
}   

void prn_array(char* s , const int a[] , int n){
   int   i;

   printf("\n    %s sorting:", s);
   for (i = 0; i < n; ++i)
      printf("%5d", a[i]);
   putchar('\n');
}

void swap(int *p, int *q){
   int   tmp;

   tmp = *p;
   *p = *q;
   *q = tmp;
}