用C++的列表和python的内置函数和最原始方法来实现单词排序

首先如果我们相对单词进行排序我们应该怎么做呢?
如我们要对下面的单词进行排序:
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可以当做伪代码看很容易看懂

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值