一个C++程序编程题

来源:百度知道 编辑:UC知道 时间:2024/09/28 09:10:46
对10个不等长的字符串使用指针数组排序

char *line[10];
char *p;
for(int i =0;i<10-1;i++)
{
if(strcmp(line[i],line[i+1]>0)){
strcpy(p,line[i]);
strcpy(line[i],line[i+1]);
strcpy(line[i+1],p);
}
}

设置一个指针数组 *p[10]
分别把10个字符串给指针指向地址
另外在设置一个公共的指针 p ,用于交换地址。
用选择排序排序
当中调用stcmp(*p ,*p〔?〕)函数

例如:

for(j=1;j<=10;j++)
{ *p=*p[j] /* 首先把p1指向的字符串付给p
for(i=j;i<=10;i++)
{ if( stcmp(*p,*p[i]) )
*p=*p[i];
}
*p[i]=*p[j]; /* 交换指向
*p[j]=*p;
}