顶楼上的 ,这道题不必要用到链表。看看这个程序吧····
#include<iostream>
#define n 10
using namespace std;
main()
{
void sort(char *[],int ); /*声明自定义的字典排序函数*/
char *q[n];
int i;
for(i=0; i<n; i++)
q[i]=new char[30], scanf("%s",q[i]); /*给q数组申请30大小的空间并对其进行赋值*/
sort( q, n); /*调用自定义的字典排序函数*/
for(i=0; i<n; i++)
printf((i==n-1)?"%s\n":"%s ",q[i]);
return 0;
}
void sort(char *q[],int t)/*自定义的字典排序函数*/
{ char *temp;
int i, j, k;
for(i=0; i<t-1; i++)
{
k=i;
for(j=i+1; j<t; j++)
if(strcmp(q[k], q[j])>0) /*如果返回值大于零,即字符串a[k]大于a[j],则进行交换*/
k=j;
if(k!=i)
temp=q[i], q[i]=q[k], q[k]=temp;
}
}