The Shaker Sort : Shaker Sort « Data Structure Algorithm « C / ANSI-C

Home
C / ANSI-C
1.assert.h
2.Console
3.ctype.h
4.Data Structure Algorithm
5.Data Type
6.Development
7.File
8.Function
9.Language Basics
10.Macro Preprocessor
11.Math
12.math.h
13.Memory
14.Pointer
15.setjmp.h
16.signal.h
17.Small Application
18.stdio.h
19.stdlib.h
20.String
21.string.h
22.Structure
23.time.h
24.wctype.h
C Tutorial
C++
C++ Tutorial
Visual C++ .NET
C / ANSI-C » Data Structure Algorithm » Shaker SortScreenshots 
The Shaker Sort


#include <string.h>
#include <stdio.h>
#include <stdlib.h>

void shaker(char *items, int count);

int main(void)
{
  char s[255];

  printf("Enter a string:");
  gets(s);
  shaker(s, strlen(s));
  printf("The sorted string is: %s.\n", s);

  return 0;
}


void shaker(char *items, int count) {
  register int i;
  int exchange;
  char t;

  do {
    exchange = 0;
    for(i = count - 1; i > 0; --i) {
      if(items[i - 1> items]) {
        t = items[i - 1];
        items[i - 1= items];
        items= t;
        exchange = 1;
      }
    }

    for(i = 1; i < count; ++i) {
      if(items[i - 1> items]) {
        t = items[i-1];
        items[i - 1= items];
        items= t;
        exchange = 1;
      }
    }
  while(exchange)/* sort until no exchanges */
}


           
       
Related examples in the same category
www.java2java.com | Contact Us
Copyright 2009 - 12 Demo Source and Support. All rights reserved.
All other trademarks are property of their respective owners.