辞書順の文字列
1442 ワード
文字列をソートします.ソートでは、文字列「bc」、「ad」、「ac」、「hello」、「xman」、「little」、「during」、「day」を「ad」、「ac」、「bc」、「during」、「day」、「hello」、「little」にソートできます.
解法:
ソートクラスの問題は、任意の変化にかかわらず、文字列を並べてもルールに従って並べ替えても本質は同じであり、変化するのは要素の比較方法にほかならない.
この問題についても同様に適用される.
速い列を使用して、2つの列についてルールに従ってサイズを比較します.
文字列交換位置の方法に注意する必要があります.
解法:
ソートクラスの問題は、任意の変化にかかわらず、文字列を並べてもルールに従って並べ替えても本質は同じであり、変化するのは要素の比較方法にほかならない.
この問題についても同様に適用される.
速い列を使用して、2つの列についてルールに従ってサイズを比較します.
文字列交換位置の方法に注意する必要があります.
#include
#include
#include
void swap(char **str1,char **str2){
char *temp=*str1;
*str1=*str2;
*str2=temp;
}
int compare(char* str1, char*str2){
while(*str1 && *str2 && *str1==*str2){
str1++;
str2++;
}
return *str1-*str2;
}
int partition(char** set, int startindex, int endindex){
if(set == NULL) return ;
char* pi = set[endindex];
int low = startindex;
int high = startindex+1;
for(;high= endindex) return;
int mid = partition(set, startindex, endindex);
sort(set, startindex, mid-1);
sort(set, mid+1, endindex);
}
int main(){
char *set[] = {"a","ac","ab","aeg","aef"};
int i = 0;
sort(set, 0,4);
for(;i<5;i++){
printf("%s ", set[i]);
}
printf("
");
}