#include <bits/stdc++.h>
using namespace std;
int n,id;
string s[1010];
int dict[300];//此处定义字典序数组
bool cmp(string s1,string s2)
{
int i=0;
while(1)
{
if(dict[s1[i]]<dict[s2[i]]) return true;
if(dict[s1[i]]>dict[s2[i]]) return false;
i++;
}
}
int main()
{
char x;
for(int i=1;i<=26;i++)
{
cin>>x;
dict[x]=i;
}
cin>>n;
for(int i=1;i<=n;i++)
cin>>s[i];
sort(s+1,s+n+1,cmp);
cin>>id;//此处输入排序方式,1是正序,0是倒序
if(id==1)
for(int i=1;i<=n;i++)
cout<<s[i]<<endl;
else
for(int i=n;i>=1;i--)
cout<<s[i]<<endl;
return 0;
}
C++实现单词按自己的字典序排序
C++ 字符串排序算法
最新推荐文章于 2024-02-16 15:24:47 发布
本文介绍了一个使用 C++ 实现的字符串排序程序。该程序通过自定义比较函数实现了一种新的排序方法,能够根据预设的字符顺序对字符串数组进行排序,并支持正序与倒序两种排序方式。
1526

被折叠的 条评论
为什么被折叠?



