Revision: 36198
Initial Code
Initial URL
Initial Description
Initial Title
Initial Tags
Initial Language
at November 19, 2010 06:42 by trusktr
Initial Code
void qsort(string *list, int start, int finish){
int left = start, right = finish;
char pivot[200];
strcpy( pivot, list[(start+finish)/2].c_str() );
while (left < right) {
while ( strcmp(list[left].c_str(), pivot) < 0 ) left++; // find left candidate
while ( strcmp(list[right].c_str(), pivot) > 0 ) right--; // find right candidate
if (left <= right) {
string temp = list[left];
list[left] = list[right];
list[right] = temp;
left++;
right--;
}
} // while left < right
if (start < right) qsort(list,start,right);
if (left < finish) qsort(list,left,finish);
}
Initial URL
Initial Description
Initial Title
cisp360 qsort() for string array
Initial Tags
Initial Language
C++