首页 > 试题广场 >

字符串排序

[编程题]字符串排序
  • 热度指数:521894 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 32M,其他语言64M
  • 算法知识视频讲解
给定 n 个字符串,请对 n 个字符串按照字典序排列。

数据范围: ,字符串长度满足

输入描述:
输入第一行为一个正整数n(1≤n≤1000),下面n行为n个字符串(字符串长度≤100),字符串中只含有大小写字母。


输出描述:
数据输出n行,输出结果为按照字典序排列的字符串。
示例1

输入

9
cap
to
cat
card
two
too
up
boat
boot

输出

boat
boot
cap
card
cat
to
too
two
up
n = int(input())
l = []
for i in range(n):
    d = input()
    l.append(d)
l_d = sorted(l)
for j in range(len(l_d)):
    print(l_d[j])

编辑于 2024-03-05 17:44:43 回复(0)
import sys 

res=[]
for line in sys.stdin:
    # 区间左闭右开,把每个输入的换行符去掉后加入数组
    res.append(line[:-1])

for i in sorted(res[1:]):
    # 去掉开头的数字n,剩余的输出
    print(i)

编辑于 2023-12-19 17:14:43 回复(0)
n = int(input())
if 1 <= n <= 1000:
    l = []
    for i in range(n):
        b = input()
        if 1 <= len(b) <= 100 and b.isalpha():
            l.append(b)
    l.sort()
    print("\n".join(l))

编辑于 2023-12-09 21:28:50 回复(0)
num = int(input())
l = []
for i in range(num):
    l.append(input())
for i in sorted(l):
    print(i)
发表于 2023-11-15 20:05:51 回复(0)
n = int(input())
list = []
for i in range(n):
    str = input()
    list.append(str)
newlist = sorted(list)
for i in newlist:
    print(i)
发表于 2023-11-03 22:00:45 回复(0)
num = int(input())
str_list = []
for i in range(num):
    str_list.append(input())
str_list.sort()
for i in str_list:
    print(''.join(i))

发表于 2023-10-22 15:44:10 回复(0)
n = int(input())
s = []
for i in range(n):
    s.append(input())
print('\n'.join(sorted(s)))

发表于 2023-10-09 10:46:36 回复(0)
用的三层循环嵌套,冒泡排序的笨方法
list=[]
i_input=int(input())
for i in range(i_input):
    word=input()
    list.append(word)
n=len(list)
for i in range(n-1):
    for j in range(i+1,n):
        for m in range(min(len(list[i]),len(list[j]))):
            if ord(list[i][m]) > ord(list[j][m]):
                temp = list[j]
                list[j]=list[i]
                list[i]=temp
                break
            elif ord(list[i][m]) == ord(list[j][m]):
                continue
            elif ord(list[i][m]) < ord(list[j][m]):
                break
for i in list:
    print(i)

发表于 2023-09-16 18:54:18 回复(0)
N = int(input())
li = []
if N<1&nbs***bsp;N >1000:
    print('请输入1到1000之间的整数')
else:
    for i in range(N):
        n = input()
        if n.isalpha():
            li.append(n)
        else:
            print('请输入字母')
    for n in sorted(li):
        print(n)

发表于 2023-09-16 16:03:44 回复(0)
while True:
    try:
        n = int(input())
        s = []
        # 把所有字符串存入列表里
        for i in range(n):
            s.append(input())
        # 用join以换行符分割的方式输出排序后的列表
        print('\n'.join(sorted(s)))
    except EOFError:
        break

发表于 2023-09-16 10:48:42 回复(0)
def quick_Sort(l, begin, end):
    if begin > end:
        return
    tmp = l[begin]
    i = begin
    j = end
    while i != j:
        while l[j] >= tmp and i < j:
            j = j-1
        while l[i] <= tmp and i < j:
            i = i+1
        if i < j:
            l[i],l[j] = l[j],l[i]
    l[begin] = l[i]
    l[i] = tmp
    quick_Sort(l, begin, i-1)
    quick_Sort(l, i+1, end)

num = int(input())
l = []
for _ in range(0,num):
    l.append(input())
quick_Sort(l, 0, len(l)-1)
for i in l:
    print(i)
发表于 2023-09-01 10:35:46 回复(0)
import sys

num = int(input())
a = []
for i in range(num):
    a.append(input())

for i in sorted(a):
    print(i)

发表于 2023-07-03 02:06:07 回复(0)
import sys

n = eval(input())
lst = []
for i in range(n):
    lst.append(input())
# 冒泡排序
for j in range(n):
    for k in range(0, n-j-1):
        if lst[k] > lst[k+1]:
            tmp = lst[k]
            lst[k] = lst[k+1]
            lst[k+1] = tmp
for s in lst:
    print(s)

发表于 2023-06-21 00:28:13 回复(0)
import sys
a =[]
for line in sys.stdin:
    a.append(line.split())
del(a[0])
for b in sorted(a):
    print(''.join(b))
发表于 2023-06-18 17:03:19 回复(0)
def input_s(min,max,sign):
    if sign == 0:
        s = input()
        s1 = int(s)
        if s.isdigit() and s1 in range(min,max+1):
            return s1
        else:
            print('请输入{}到{}的整数'.format(min,max))
    elif sign == 1:
        s = input()
        if s.isalpha() and len(s) in range(min,max+1):
            return s
        else:
            print(f'请输入长度为{min}到{max}的仅含字母的字符串')    
      
n = input_s(1,1000,0)
a = []
for i in range(n):
    line = input_s(1,100,1)
    a.append(line)

a.sort()
for i in a:
    print(i)

发表于 2023-06-09 15:37:56 回复(0)
print('\n'.join(sorted(input() for _ in range(int(input())))))

发表于 2023-05-02 00:49:41 回复(0)
n = int(input())
b = list()
for i in range(0, n):
    b.append(str(input()))
for j in range(0, len(b)):
    print(min(b))
    b.remove(min(b))


发表于 2023-04-13 12:30:48 回复(0)