C/Data Structure Algorithm/Bubble Sort

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

A bigger bubble sort application

#include<stdio.h>
int bubble(int x[],int n) {
 int hold,j,pass,i,switched = 1;
 for(pass = 0; pass < n-1 && switched == 1;pass++) {
    switched=0;
    for (j=0;j<n-pass-1;j++)
        if (x[j]>x[j+1]) {
            switched=1;
            hold = x[j];
            x[j] = x[j+1];
            x[j+1]=hold;
        }
    }
    return(0);
}
int main() {
  int marks[10];
  int i;
  marks[0] = 39;
  marks[1] = 55;
  marks[2] = 43;
  marks[2] = 43;
  marks[3] = 49;
  marks[4] = 12;
  marks[5] = 2;
  marks[6] = 5;
  marks[7] = 4;
  marks[8] = 3;
  marks[9] = 1;
  bubble(marks, 10);
  for(i =0;i<10;i++){
      printf("%d ",marks[i]);
  }
}


A bubble sort on int array

  
#include <stdio.h>
#include <stdlib.h>
int main(void)
{
  int item[100];
  int a, b, t;
  int count;
  /* read in numbers */
  printf("How many numbers? ");
  scanf("%d", &count);
  
  for(a = 0; a < count; a++) 
      scanf("%d", &item[a]);
  /* now, sort them using a bubble sort */
  for(a = 1; a < count; ++a)
    for(b = count-1; b >= a; --b) {
      /* compare adjacent elements */
      if(item[ b - 1] > item[ b ]) {
        /* exchange elements */
        t = item[ b - 1];
        item[ b - 1] = item[ b ];
        item[ b ] = t;
      }
    }
  /* display sorted list */
  for(t=0; t<count; t++) printf("%d ", item[t]);
  return 0;
}


The Bubble Sort

#include <string.h>
#include <stdio.h>
#include <stdlib.h>
void bubble(char *items, int count);
int main(void)
{
  char s[255];
  printf("Enter a string:");
  gets(s);
  bubble(s, strlen(s));
  printf("The sorted string is: %s.\n", s);
  return 0;
}

void bubble(char *items, int count)
{
  register int i, j;
  register char t;
  for(i = 1; i < count; ++i)
    for( j = count-1; j >= i; --j) {
      if(items[j - 1] > items[ j ]) {
        /* exchange elements */
        t = items[j - 1];
        items[j - 1] = items[ j ];
        items[ j ] = t;
      }
    }
}