Return to Snippet

Revision: 36198
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++