首先如果我们相对单词进行排序我们应该怎么做呢?
如我们要对下面的单词进行排序:
hello see english french father mother brother
我们不需要自己去思考我们可以要“别人”来帮我们做这件事:
1.使用python的内置函数;
Word_Number=int(input("输入单词的个数\n"))
Word_List=[]#建立存放单词的列表
for string_word in input().split():#输入需要排序的单词并且将他们放入列表中:
Word_List.append(string_word)
Word_List.sort()#利用内置函数将他们排序
for x in Word_List:#单词的输出
print(x)
"""
输入单词的个数
7
hello see english french father mother brother
brother
english
father
french
hello
mother
see
"""
2.利用C++的列表实现
#include <iostream>
#include<list>//导入列表的头文件
using namespace std;
int main() {
int Number;//输入的单词数目
list<string>::iterator WORD;//创建一个string类型的迭代器
list<string> WORDSET;//创建一个存放单词的列表
cout<<"输入你想输入的单词的数目";
cin>>Number;
for(int i=1;i<=Number;i++){//输入单词
string word;
cin>>word;
WORDSET.push_back(word);//从列表的最后加入单词
}
WORDSET.sort();//将单词进行排序
WORD=WORDSET.begin();//迭代器的起始位置为列表的第一个元素
for(;WORD!=WORDSET.end();WORD++)
{
cout<<*WORD<<endl;//输出单词
} return 0;
}
3.利最原始方法实现:
def sort(string1,string2):
Length=min(len(string1),len(string2))
for x in range(Length):
if string1[x]>string2[x]:
elif string1[x]<string2[x]:
return -1
if len(string1)>len(streing2):
return 1
elif len(string1)==len(streing2):
return 0
else:
return -1
Word_Number=int(input("输入单词的个数\n"))
Word_List=[]#建立存放单词的列表
for string_word in input().split():#输入需要排序的单词并且将他们放入列表中:
Word_List.append(string_word)
for x in range(Word_Number-1):#冒泡排序实现
for y in range(Word_Number-x-1):
if sort(Word_List[y],Word_List[y+1]):
Word_List[y],Word_List[y+1]=Word_List[y+1],Word_List[y]#将两个变量内容互换
for x in Word_List:
print(x)
以上是python源代码已确认有效,如果没有学过python可以当做伪代码看很容易看懂