指针数组实现字符串排序

#include 
#include
#include
using namespace std;
void sort(char *line[],int n);
void print(char *line[],int n);
int main()
{
     
	int n,i;
	cin>>n;
	char *line[10];
	for(i=0;i<=n;i++)
	{
     
	line[i]=(char*)malloc(sizeof(char)*50);
	}
	for(i=0;i<=n;i++)
	{
     
	gets(line[i]);
	}
    sort(line,n);
    print(line,n);
    return 0;
}
void sort(char *line[],int n)
{
     
    char *temp;
    int i,j,k;
    for(i=0;i<n;i++)
    {
     
        k=i;
        for(j=i+1;j<=n;j++)
            if(strcmp(line[k],line[j])>0) k=j;
        if(k!=i)
        {
     
            temp=line[i];
            line[i]=line[k];
            line[k]=temp;
        }
    }
}
void print(char *line[],int n)
{
     
    int i;
    for(i=0;i<=n;i++)
        printf("%s\n",line[i]);
}

—————————————————————————————————————————————————

#include 
#include
#include
#include
using namespace std;

sort(char*strings[],int n)
{
     
    char *temp;        
    int i,j;        
    for(i=0;i<=n-1;i++)            
    {
     
        for(j=i+1;j<=n;j++)
        {
     
            if(strcmp(strings[i],strings[j])>0)
            {
     
                temp=strings[i];
                strings[i]=strings[j];
                strings[j]=temp;
                }
            }
        }
    }
int main()
{
     
	int n,i;
	cin>>n;
	char *line[10];
	for(i=0;i<=n;i++)
	{
     
	line[i]=(char*)malloc(sizeof(char)*50);
	}
	for(i=0;i<=n;i++)
	{
     
	gets(line[i]);
	}
    sort(line,n);
    for(i=0;i<=n;i++)
        printf("%s\n",line[i]);
    return 0;
}

你可能感兴趣的:(C++程序设计)