辞書順の文字列

1442 ワード

文字列をソートします.ソートでは、文字列「bc」、「ad」、「ac」、「hello」、「xman」、「little」、「during」、「day」を「ad」、「ac」、「bc」、「during」、「day」、「hello」、「little」にソートできます.
 
解法:
ソートクラスの問題は、任意の変化にかかわらず、文字列を並べてもルールに従って並べ替えても本質は同じであり、変化するのは要素の比較方法にほかならない.
この問題についても同様に適用される.
速い列を使用して、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("
"); }