字符串排序

#include<stdio.h>
#include<stdlib.h>
#include<math.h>
#include<string.h>
int n;
char str1[500][20];
void p_quick_sort(char str[500][20],int i,int j);

void  main()
{
    int i;
    while(1)
    {

    printf("请输入字符串个数:\n");
    scanf("%d",&n);
    for(i=0;i<n;i++)
        scanf("%s",str1[i]);

    p_quick_sort(str1,0,n-1);
    for(i=0;i<n;i++)
        printf("%s\n",str1[i]);
    }
}
void p_quick_sort(char str[500][20],int i,int j)
{
    int index,start=i,end=j;  if(i>=j)return ;
    char temp[20];
    strcpy(temp,str[i]);;

    while(i<j)
    {
        while(strcmp(str[j],temp)>=0&&i<j)
        {
            j--;
        }
        if(i<j)
        {
            strcpy(str[i],str[j]);

        }
        while(strcmp(str[i],temp)<0&&i<j)
        {
            i++;
        }
        if(i<j)
        {
            strcpy(str[j],str[i]);
        }

    }
strcpy(str[i],temp);
    p_quick_sort(str,start,i-1);
    p_quick_sort(str,i+1,end);

}
posted @ 2012-06-13 23:14  woaiyy  阅读(210)  评论(0编辑  收藏  举报