指针数组,与字符串按字符大小排序问题。

BeerGates BeerGates 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区

void Sort(char *pstr[], int n)
{
char *temp;
int i, j, k;
for(i = 0; i < n - 1; i++)
{
k = i;
for(j = i + 1; j < n; j++)
{
if(strcmp(pstr[k], pstr[j]) > 0)
k = j;
if(k != i)
{
temp = pstr[i];
pstr[i] = pstr[k];
pstr[k] = temp;
}
}
}
}

void Output(char *pstr[], int n)
{
for(int i = 0; i < n; i++)
cout<<pstr[i]<<endl;
}

int main(int argc, char *argv[])
{
char *pstr[5] = {"BASIC", "FORTRAN", "C++", "PASCAL", "COBOL"};
Sort(pstr, 5);
Output(pstr, 5);
return 0;
}

结果:
BASIC
C++
COBOL
FORTRAN
PASCAL
Press any key to continue . . .


这个程序我不明白。在函数中,不能企图通过改变形参指针变量的值而使实参指针变量的值改变。

strcmp是对比字符串大、小、等于。但不是对比字符串前边的字符大小吧?

请各位解释一下这个程序。写些注释出来,我看不明白,为什么可以这样做法?用strcmp?
...全文

相关推荐

字典序(Lexicographical Order).pdf

字典序 字典序(Lexicographical Order)是一种比较和排序的方法,通常用于对字符串进行排序。在字典序中,字符串的比较是按照字符的顺序进行的,从左到右依次比较每个对应位置上的字符的大小。 举个例子,假设有三个字符串"apple", "banana", "cherry",这些字符串按照字典序排列的顺序是"apple", "banana", "cherry"。因为在第一个位置上,'a'比'b'小,所以"apple"排在"banana"之前;在第一个位置上,'b'比'c'小,所以"banana"排在"cherry"之前。 在编程中,可以使用字符串比较函数(如strcmp)或者自定义排序算法来实现字典序的排序。下面是一个使用C语言的字符串比较函数strcmp进行字典序排序的示例代码:

一只会写程序的猫

用C写的数据结构算法

很好的数据结构算法,相关的二叉树,都有具体的算法

wubenhaoren

CSUOJ,264个问题的正确代码

CSUOJ排行榜第五名(Christina),使用代码语言主要是C,部分是Java,题目带有顺序题号索引,按索引找不到的题目就是没做出来。

南方有令秧~

输入3个字符串,将它们按照字母由大到小排序(示例代码)

用string方法定义字符串变量 实现代码: 代码如下:#include<iostream>#include<string>using namespace std;int main(){ string a,b,c,t; cout&lt;&lt;“please input first string:”&lt;<endl>>a; cout&lt;&lt;“please input second string:”&lt;<endl>>b; cout&lt;&lt;“please input third string:”&lt;<endl>>c; if(a>b){  t=a;  a=b;  b=t; } if(a>c){  

NEDL001

java字母数字混搭字符串排序[归类].pdf

java字母数字混搭字符串排序[归类].pdf

xhr131452007
评论 5
收藏 已收藏
分享
返回顶部
BeerGates
C++ 语言 65,214 成员 250,514 内容