C Tutorial/Search Sort/Bubble Sort

Материал из C\C++ эксперт
Перейти к: навигация, поиск

Bubble sort

<source lang="cpp">#include <stdio.h>

  1. define MAX 10

void swap(int *x,int *y) {

  int temp;
  temp = *x;
  *x = *y;
  *y = temp;

} void bsort(int list[]) {

  int i,j;
  for(i=0;i<(MAX-1);i++){
     for(j=0;j<(MAX-(i+1));j++){
            if(list[j] > list[j+1]){
                   swap(&list[j],&list[j+1]);
            }
     }
  }

} void printlist(int list[]) {

  int i;
  printf("The elements of the list are: \n");
  for(i=0;i<MAX;i++)
     printf("%d\t",list[i]);

} void main() {

  int list[MAX];
  list[0] = 2; list[1] = 1; list[2] = 4; list[3] = 3; list[4] = 9;
  list[5] = 19; list[6] = 17; list[7] = 11; list[8] = 5; list[9] = 6;
  printf("The list before sorting is:\n");
  printlist(list);
  bsort(list);
  printf("The list after sorting is:\n");
  printlist(list);

}</source>

The list before sorting is:
The elements of the list are:
2       1       4       3       9       19      17      11      5       6
The list after sorting is:
The elements of the list are:
1       2       3       4       5       6       9       11      17      19