复试算法练习Day12——字符串排序
admin
2024-05-20 17:52:35
0

复试算法练习Day12

文章目录

  • 复试算法练习Day12
    • 题目描述
    • 输入描述:
    • 输出描述:
    • 示例1
    • 思路
    • 具体实现
    • 时间复杂度
    • 小结

题目描述

给定 n 个字符串,请对 n 个字符串按照字典序排列。

数据范围: 1 \le n \le 1000 \1≤n≤1000 ,字符串长度满足 1 \le len \le 100 \1≤len≤100

输入描述:

输入第一行为一个正整数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

思路

可以采用冒泡排序的方法,利用简单冒泡排序,在一开始给出字符串的长度初始化之后,构造一个最大数组字符串输出函数

具体实现

//利用冒泡排序写C语言情况下的字符串排序
//按照字典序排列
#include
#include
#include
#define StringMax 100//定义每个字符串的最大长度//构建最大字符串输出函数
void ShowArr(char arr[][StringMax],int n){	for(int i=0;iprintf("%s\n",arr[i]);}}//构建字符串比较,冒泡排序算法函数
void StringSortTest(char str[][StringMax],int n){char tmp[100];int i;//利用简单冒泡排序对于每个字符串按照字典编码要求排序for(i = 0; i < n - 1; i++)for(int j = 0; j < n - i - 1; j++){//利用排在前面的字符串减去排在后面的字符串,//利用strcmp函数来实现字符串的上下变换if(strcmp(str[j], str[j + 1]) > 0) {//如果前一个字符串的首字母排序的时候位置//大于后一个字符串的首字母,//利用strcmp函数进行交换位置strcpy(tmp, str[j]);    strcpy(str[j], str[j + 1]);strcpy(str[j + 1],tmp);}}
}void main(){//输入测试数据,并通过运行函数给出最终结果char TestStr[5][StringMax]={"tofa","nasdck","yfewzb","sjasd","jdwz"};ShowArr(TestStr,5);StringSortTest(TestStr,5);printf("冒泡排序后输出的字符串结果为:\n");ShowArr(TestStr,5);
}
##利用Python实现字符串排序
#利用sorted()函数对所有可迭代类型进行排序。
#这样不改变原始序列,最后返回排序后的新序列。
#输出即可得到结果#通过input()函数输入任意字符串后强制转换为int类型
num = int(input())
#构建数组列表
temp = []
#利用range()函数输出指定范围的所有值
for i in range(num):#在数组列表后面添加元素类型确保可以迭代temp.append(input())#对于列表可迭代元素进行排序,后输出结果
for j in sorted(temp):print(j)

时间复杂度

采用冒泡排序时间复杂度为O(n),采用Python利用数组列表多次迭代遍历排序,也进行了n次运算,时间复杂度也为O(n)

小结

在C语言中采用构建数组,利用冒泡函数比较数组中字母的排序情况,利用strcmp函数来实现字符串的上下变换,经过n次的比较最后可以给出所输入字符串按字典排序的结果。

利用Python中的range函数以及sorted函数,在构建好数组列表的情况下,利用range给出输出范围的所有值,添加可迭代元素后,利用sorted函数进行迭代排序,最后即可输出需要的结果,利用Python中自带函数需考虑强制转换以及数组输出之后转换回字符串的结果,确保输出情况满足要求。

相关内容

热门资讯

猾开头的成语有哪些 猾开头的成语有哪些没有猾开头的成语,含猾的成语如下:  齿牙为猾 指谗言造成灾祸。  齿牙之猾 ...
2016~2017年度十大最具... 2016~2017年度十大最具科学早教气质的推荐视听节目(排名不分先后)都有哪些?《动物好伙伴》、《...
对于逆反期的孩子应该怎样教育? 对于逆反期的孩子应该怎样教育?孩子到了逆反期感觉非常不听话该怎么办?所谓的逆反也就是叛逆,人生是有3...
火锅蘸料绝密配方 火锅蘸料绝密配方火锅蘸料绝密配方芝麻酱、红油辣酱、生抽王、葱、姜、糖、醋、酱油、花椒粉、味精。吃火锅...
完美国际剑灵和魅灵哪个好?好在... 完美国际剑灵和魅灵哪个好?好在哪?看你个人喜欢,剑灵群怪爽魅灵是护士
泰戈尔的每部诗集比较权威的翻译... 泰戈尔的每部诗集比较权威的翻译是谁呀将诗集一部部列出来 再分别标注每一部最好的翻译者谢谢我也认为吴岩...
假海龟的故事的读后感? 假海龟的故事的读后感?读了这篇文章使我受益匪浅,假装成别人终会有被揭穿的一天。就像故事局启迟中的主人...
双耳蓝牙耳机为什么只能连接一个 双耳蓝牙耳机为什么只能连接一个无线双耳喊燃连接郑岩虚只有一边有声音,需要恢复两边都有声音,那就恢复出...
天源长寿村的传奇故事 天源长寿村的传奇故事 广州市有个长寿村,村里的人平均寿命达到世界先进国家水平,千百年来长寿村的老寿星...
什么是感情? 什么是感情?对于感情而言,就是,当你面对两个人的时候:一个是你不爱的人,但是他有雄厚的经济基础,可以...
《机器之血》这部剧还是很不错的... 《机器之血》这部剧还是很不错的,其中几位主演的演技如何?演员演技表情很不错都挺到位的演技很好,剧情也...
清凉游、非遗赛事……多彩假日解... 央视网消息:天气炎热,很多人选择戏水消解暑意。为了满足游客需求,黑龙江省集贤县将冬季玩雪胜地改造成森...
安全教育的意义是什么? 安全教育的意义是什么?安全教育能够适应复杂的社会治安形势,提高人们的安全意识,从根本上控制和预防安全...
第一次去张家界五日游攻略,张家... 第一天:初探天门奇观 清晨从长沙乘坐高铁抵达张家界西站,一出站就被四周环绕的群山震撼。我提前联系了当...
重庆荔枝打卡地图来了!可去这些... 2025重庆荔枝打卡地图 重庆市气象服务中心供图 在重庆也能享受边摘边吃荔枝的快乐?近日,重庆市气象...
天涯海角石头的来历 天涯海角石头的来历
手机被偷,第一件事情应该干什么... 手机被偷,第一件事情应该干什么?首先打开电脑并登陆手机的账户,对手机实行定位,之后远程打开挂失模式,...
餐厅服务员,遇到退菜该怎么办? 餐厅服务员,遇到退菜该怎么办?餐厅服务员碰到客人退菜,首先要问清楚退菜的原因,自己能解释清楚就自行处...
刘家成委员称,影视剧选角不能唯... 刘家成委员称,影视剧选角不能唯流量论,你觉得演技重要还是流量重要?其实我们都知道很多时候有一些明星是...
作文灰太狼回乡记童话故事 作文灰太狼回乡记童话故事这是我本人原创,而且是第一次创作童话,想必有不妥之处,请君参考! ...