C/Data Structure Algorithm/Shaker Sort — различия между версиями
Admin (обсуждение | вклад) м (1 версия: Импорт контента...) |
Admin (обсуждение | вклад) м (1 версия: Импорт контента...) |
(нет различий)
|
Текущая версия на 13:22, 25 мая 2010
The Shaker Sort
<source lang="cpp">
- 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[ i ]) { t = items[i - 1]; items[i - 1] = items[ i ]; items[ i ] = t; exchange = 1; } } for(i = 1; i < count; ++i) { if(items[i - 1] > items[ i ]) { t = items[i-1]; items[i - 1] = items[ i ]; items[ i ] = t; exchange = 1; } } } while(exchange); /* sort until no exchanges */
}
</source>