Программа упорядочения строк в алфавитном порядке
http://ru.wikibooks.org/wiki/Язык_Си_в_примерах/Сортировка
Как обычная сортировка:
Вот пузырьком:
#include
using namespace std;
int main(){
char str[] = "Hello world.";
cout << str << endl;
for(int i(1); str[i]; i++){
for(int j(strlen(str)-1); j >= i; j--)
if(str[j-1] > str[j]) swap(str[j-1],str[j]);
}
cout << str << endl;
system("pause > nul");
return 0;
}
А вот быстрая сортировка:
#include
using namespace std;
void qs(char *items, int left, int right);
void quicksort(char *items, int len)
{
qs(items, 0, len-1);
}
int main(){
char str[] = "Hello world.";
cout << str << endl;
quicksort(str,strlen(str));
cout << str << endl;
system("pause > nul");
return 0;
}
void qs(char *items, int left, int right)
{
int i,j;
char x,y;
i = left; j = right;
x = items[(left+right)/2];
do{
while(items[i] < x && i
if(i <= j){
y = items[i];
items[i] = items[j];
items[j] = y;
i++; j--;
}
}while(i <= j);
if(i < right) qs(items,i,right);
if(j > left) qs(items,left,j);
}