Loading [MathJax]/jax/output/CommonHTML/config.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >如何在没有内置函数的情况下按字母顺序对字符串进行排序

如何在没有内置函数的情况下按字母顺序对字符串进行排序
EN

Stack Overflow用户
提问于 2018-10-09 09:33:32
回答 2查看 1.7K关注 0票数 0

我的代码:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
alphabet = "abcdefghijklmnopqrstuvwxyz"
def sort3():
    string = input("please enter a 3 character string: ")
    string1 = string[0]
    string2 = string[1]
    string3 = string[2]
    stringpos1 = alphabet.index(string1)
    stringpos2 = alphabet.index(string2)
    stringpos3 = alphabet.index(string3)
    if stringpos3 > stringpos2 > stringpos1:       # 123
        print(string1 + string2 + string3)
    elif stringpos2 > stringpos3 + stringpos1:     # 132
        print(string1 + string3 + string2)
    elif stringpos3 > stringpos1 > stringpos2:     # 213
        print(string2 + string1 + string3)
    elif stringpos1 > stringpos3 > stringpos2:     # 231
        print(string2 + string3 + string1)
    elif stringpos2 > stringpos1 > stringpos3:     # 312
        print(string3 + string1 + string2)
    elif stringpos1 > stringpos2 > stringpos3:     # 321
        print(string3 + string2 + string1)


sort3()

这就是我所做的,我想知道如何对任何字符串(即任何长字符串)执行此操作。

EN

回答 2

Stack Overflow用户

发布于 2018-10-09 09:50:51

试试这个算法:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
def sort(lst):
    if not lst:
        return []
    return (sort([x for x in lst[1:] if x <  lst[0]])
            + [lst[0]] +
            sort([x for x in lst[1:] if x >= lst[0]]))



word=input('enter a word: ')
print(''.join(sort(word)))

输出示例:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
enter a word: xzy
xyz

适用于任何长度,甚至:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
enter a word: rcrfr sefre erg ergergerg r
    ceeeeeeffggggrrrrrrrrrs

很难将您代码实现为任何长度的字符串

顺便说一句,慢速方式:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
from random import shuffle
l=list(input('enter a word: '))

def is_sorted(iterable):
  for a1,a2 in zip(iterable, iterable[1:]):
     if a1 > a2: return False
  return True

sorted_list = l
while True:
   shuffle(sorted_list)
   if is_sorted(sorted_list): break
print(''.join(sorted_list))
票数 0
EN

Stack Overflow用户

发布于 2018-10-09 10:00:48

第一个想法是使用冒泡排序实现:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
def bubbleSortStr(astr):
    my_list = [x for x in my_str]
    bubbleSort(my_list)
    return ''.join(my_list)

def bubbleSort(alist):
    for passnum in range(len(alist)-1,0,-1):
        for i in range(passnum):
            if alist[i]>alist[i+1]:
                temp = alist[i]
                alist[i] = alist[i+1]
                alist[i+1] = temp

my_str = "BubbleSort is cool"
print bubbleSortStr(my_str)
#  BSbbceillooorstu

我从这里获取了实际的冒泡排序的代码:http://interactivepython.org/runestone/static/pythonds/SortSearch/TheBubbleSort.html这是一个很好的教程,它解释了最基本的排序算法之一。

由于冒泡排序示例只对列表进行排序,因此我必须将字符串转换为列表,这是在bubbleSortStr()中完成的。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/52717742

复制
相关文章
flutter - 如何在DartFlutter中按字母顺序对Set String进行排序?
问?我知道有List<string>,但是我需要使用Set<string>。有没有一种方法可以按字母顺序对其进行排序?
徐建国
2021/08/03
6.8K0
JavaScript 将对象数组按字母顺序排序
1.if条件语句 + sort() 2.localeCompare() + sort() 3.Collator() + sort()
唐志远
2023/08/01
2610
JavaScript 将对象数组按字母顺序排序
JavaScript 将对象数组按字母顺序排序
Chrome、IE、Edge、Firefox、Safari、Opera 等 都支持 sort() 方法。
唐志远
2023/07/26
6320
JavaScript 将对象数组按字母顺序排序
python中按字母排序_在Python中按字母顺序排序文本文件的内容
我想在文件内部按字母顺序排序。我当前执行此操作的代码不起作用,文件保持不变。这个程序本身就是一个基本的调查问卷,用来实验读写文件。在import time
用户7886150
2021/01/27
4.9K0
C语言实例:实现对英文的12个月份按字母进行排序
这个实例中,我们使用到了二级指针,并将二级指针作为函数参数。作比较时使用到了strcmp()函数
C语言中文社区
2022/05/30
2.8K0
C语言实例:实现对英文的12个月份按字母进行排序
使用 Python 按行和按列对矩阵进行排序
假设我们采用了一个输入的 MxM 矩阵。我们现在将使用嵌套的 for 循环对给定的输入矩阵进行逐行和按列排序。
很酷的站长
2023/02/22
6.1K0
使用 Python 按行和按列对矩阵进行排序
数组按指定顺序排序
数组排序可以直接使用 sort() 方法,可以对数组按规律排序。 但如果指定一个没有规律的顺序进行排序呢? 同样可以使用  sort() 方法: const data = [   { name: '张三', code: 'zs' },   { name: '王五', code: 'ww' },   { name: '赵七', code: 'zq' }, ]; data.sort((star, next) => {   const sortList = ['zq', 'zs', 'ww']   return 
德顺
2022/06/12
2.7K0
C++返回指针值的函数 | 按字母顺序由小到大输出
学到这里的读者应该知道在C语言中,函数指针变量常见的用途之一是作为函数的参数,将函数名传给其他函数的形参,这样可以在调用一个函数的过程中根据给定的不同实参调用不同的函数,在C++中同样如此。
小林C语言
2020/12/22
1.5K0
C++返回指针值的函数 | 按字母顺序由小到大输出
将若干字符串按字母顺序(由小到大)输出(用指针)
#include <stdio.h> #include <stdlib.h> #include <string.h> void sortt(char *name[],int n) { int i,j; char *temp; for(i=0;i<5;i++) { for(j=i+1;j<5;j++) { if(strcmp(name[i],name[j])>0) /** 设这两个字符串为
谙忆
2021/01/19
1.1K0
python中选择排序法对数组进行升序排序_sort函数对字符串数组排序
先说一下三者的区别 sort, sorted 是用在 list 数据类型中的排序方法 argsort 是用在 numpy 数据类型中的排序方法( numpy 里也有一个 sort 方法,下面会讲)
全栈程序员站长
2022/09/22
3K0
面试题26(对字母进行排序,如:s,a,g,d,b; 控制台输入 a b d g s)
对字母进行排序,如:s,a,g,d,b; 控制台输入 a b d g s import java.util.ArrayList; import java.util.List; public class Demon { public static void main(String[] args) { String s = "sagdb"; //声音一个list集合存储每一个英文字母 List t = new ArrayList(); for(int i=0;i<s.length();i+
Java学习
2018/04/17
8860
面试题26(对字母进行排序,如:s,a,g,d,b; 控制台输入 a b d g s)
LeetCode刷题——按奇偶排序数组和反转字符串中的元音字母
给你一个整数数组 nums,将 nums 中的的所有偶数元素移动到数组的前面,后跟所有奇数元素。
用户10234052
2022/12/02
1.3K0
使用asort函数对PHP数组进行升序排序
PHP是一门功能强大的语言,数组是PHP中十分常用的数据结构之一。在实际开发中,经常需要对数组进行排序。PHP提供了多个函数用于对数组进行排序,其中asort函数可以实现对数组进行升序排序。
很酷的站长
2023/08/25
4660
使用asort函数对PHP数组进行升序排序
python set 排序_如何在Python中使用sorted()和sort()
所有程序员都必须编写代码来对项目或数据进行排序。排序对于应用程序中的用户体验至关重要,无论是按时间戳对用户的最新活动进行排序,还是按姓氏的字母顺序放置电子邮件收件人列表。Python的排序功能提供了强大的功能,可以在粒度级别进行基本排序或自定义排序。
用户7886150
2021/01/26
4.2K0
JS小技巧,如何使用内置函数对数组内容进行排序
如果是对象数组,我们可以使用 JavaScript 中内置的 sort() 方法并传入一个比较函数来实现按照某个对象的属性进行排序。
前端达人
2023/02/17
3.1K0
JS小技巧,如何使用内置函数对数组内容进行排序
python字符串内置函数
定义:它是一个有序的字符的集合,用于存储和表示基本的文本信息,‘’或“”或‘’‘ ’‘’中间包含的内容称之为字符串
用户7886150
2021/01/09
3000
python对字典进行排序
标准的python字典是无序的。即使对(键、值)对进行了排序,也无法以保留排序的方式将它们存储在dict中。
IT工作者
2022/07/07
1.9K0
PHP- 内置函数-字符串函数
PHP是一种流行的服务器端脚本语言,它拥有众多内置函数,可以用于各种不同的编程任务。这些内置函数可以大大简化编程过程,同时也提高了程序的可读性和可维护性。在本文中,我们将探讨一些常用的PHP内置函数,并提供一些示例以说明它们的用法。
堕落飞鸟
2023/04/26
3430
Delphi对TStrings进行排序
最近在做一个Delphi的对接第三方支付的接口,接口签名机制模仿微信的签名方式,把参数按ascii码进行排序后再加上key进行md5的加密,因为调用接口的的Post里面的参数是TStrings类型的,但是在TStrings类型里面没有Sorted排序这个方法。所以我自己重写了一个函数用于处理这个。
Vaccae
2019/07/25
1.4K0
如何实现 DAX 按指定顺序拼接字符串
如果你正在学习 DAX,那么这又是一个非常好的案例可以帮助你理解 DAX 很多妙处。
BI佐罗
2021/12/01
1.5K0
如何实现 DAX 按指定顺序拼接字符串

相似问题

使用函数按字母顺序对字符串进行排序

30

按字母顺序按字符串变量对字母进行排序

14

按字母顺序对字符串进行排序

63

按字母顺序对字符串进行排序的MySQL函数

41

charCodeAt:按字母顺序对字母进行字符串排序

22
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文