对各字符串排序

算法-22-字符串的排序算法(四种排序) 目录 1、字符串 1.1、属性 1.2、字母表 2、字符串排序方法 3、键索引计数法 3.1、第一步:频率统计 3.2、第二步:将频率转换为索引 3.3、第三步:数据分类排序 3.4、第四步:回写排序好的数组 4、低位优先的字符串排序 5、高位优先的字符串排序 1、字符串 String 是由一系列字符组成的。字符的类型是 char,可能有 2的16次方个值。数十年以来,... 阅读详情

https://www.cnblogs.com/shihaiming/p/6014067.html

/**
 *    对象比较大小compare的用法 字符串排序
 *    练习代码, 给定字符串" nba" "cba" "ncaa" "wba" ...    

    思路: 
    1.排序,想到数组的排序.数组排序想到选择排序,或者冒泡排序
    2.用数组排序的思路做此题.(字符串同理)
    3.遍历数组,比较每一个元素与下一个元素的大小关系
    4.最后交换两个元素位置
    5.输出结果

    经过学习总结:
    1.String本身是不具备比较大小功能的,但是由于String对象实现了
    Comparable的接口.这个接口是可比较功能的接口.这里定义了比较方法compareTo方法.
    Api手册中的描述:
    此接口强行对实现它的每个类的对象进行整体排序。
    这种排序被称为类的自然排序,类的 compareTo 方法被称为它的自然比较方法

    2.所以如果我们定义了一个类,这个类产生的对象,想要比大小时,我们就不用自己写方法了,
    直接实现Comparable接口,重写compareTo方法就可以了.注:本题中String类已经重写了
    comparTo方法.

    3.
    该方法比较对象 与 指定对象的 顺序
    写法: 
    campareTo(T o); 
    返回值: int  返回 0(两者相等),负数(对象小于参数),正数 (对象大于参数) 
    参数:   o 为要比较的对象

 */
public class CompareTo{

    public static void main(String[] args) {
        String[] str = {"nba","cba" ,"ncaa" ,"wba","ccba","abc"};
        printArr(str);    
        strSort(str);        //练习排序方法
//        Arrays.sort(str);    排序用法
        printArr(str);

    }

    /**
     * 对字符串进行由小到大排序
     * @param str    String[] 需要排序的字符串数组
     */
    public static void strSort(String[] str){
        for (int i = 0; i < str.length; i++) {
            for (int j = i+1; j < str.length; j++) {
                if(str[i].compareTo(str[j])>0){    //对象排序用camparTo方法
                    swap(str,i,j);
                }
            }
        }

    }
    /**
     * 交换两个元素的位置的方法
     * @param strSort    需要交换元素的数组    
     * @param i    索引i
     * @param j 索引j
     */
    private static void swap(String[] strSort, int i, int j) {
        String t = strSort[i];
        strSort[i] = strSort[j];
        strSort[j] = t;
    }
    /**
     * 打印字符串数组
     * @param str
     */
    private static void printArr(String[] str) {
        for (int i = 0; i < str.length; i++) {
            System.out.print(str[i]+"\t");
        }
        System.out.println();
    }


}
Comparable接口实现字符串比较大小排序的简单实例 java通过Comparable接口实现字符串比较大小排序的简单实例 立即下载

相关推荐

java中实现Comparable接口实现自定义排序的示例

下面小编就为大家带来一篇java中实现Comparable接口实现自定义排序的示例。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧

字符串排序

/** *   字符串排序 *练习代码,给定字符串"nba""cba""ncaa""wba"... 要求: 不用Collections.sort方法,Collections.sort方法 /** * 对象比较大小compare的用法 字符串排序 * 练习代码, 给定字符串" nba" "cba" "ncaa" "wba" .....

weixin_30267691的博客 315

PyGPT:桌面AI助手整合大模型与本地知识库,打造高效工作流

大语言模型(LLM)通过理解和生成自然语言,正深刻改变人机交互方式。其核心原理是基于海量数据训练的Transformer架构,能够根据上下文进行预测和生成。这一技术价值在于将强大的AI能力平民化,广泛应用于代码生成、文档分析、创意写作和智能问答等场景。通过API调用云端模型或本地部署开源模型,开发者可以构建个性化的AI应用。本文聚焦于PyGPT这一桌面AI助手,它巧妙地将ChatGPT、Claude、Gemini等主流大模型与LlamaIndex、Ollama等本地化工具整合,实现了聊天、文件分析、代码解释

weixin_28679635的博客 437

Java更好的字符串排序(字母顺序+数字大小排序)

问题 业务要求对录入的楼栋名称进行一个更符合用户想法的排序。 按照java自带的字符串排序,是按照每一个字母的ASCII码顺序进行排序,代码如下: List<String> strList = Arrays.asList(new String[]{"5栋", "7栋", "4栋", "15栋", "24栋", "涉外国际7栋", "涉外国际6栋", "B666栋", "B17栋", "B1栋","A45栋","A22栋"}); System.out.println(strList); Colle

个人网站:https://www.longzipeng.online 1万+

BSD盲区检测系统性能要求及试验方法

盲区监测系统BSD通过安装在车辆后方的两颗毫米波雷达实时监测驾驶员视野盲区,当发现视野盲区内出现其它道路使用者时,通过左右后视镜上的警示灯向驾驶员发出报警。

未知艺术家的博客 2356

学习笔记【Day 20】鸿蒙PC应用在SD WAN MSTP场景用CodeArts test工具测试过程

多生成树协议(MSTP)作为二层网络高可靠、无环路的核心技术,其在鸿蒙 PC 上的兼容性与稳定性测试尤为重要。本文结合华为云 CodeArts TestPlan 全流程测试管理平台,详细拆解鸿蒙 PC 端 MSTP 功能的测试设计、环境搭建、执行验证。1.测试左移,保障迭代效率CodeArts TestPlan 将 MSTP 测试从后期集成阶段 “左移” 至开发早期,通过可复用用例库与自动化脚本,支持每次代码提交后的快速回归测试,避免网络功能稳定性因迭代被破坏。2.平台化工具破解复杂场景测试难题。

aiyijianghe的博客 1058

jdk1.8 根据字段排序 comparing()

默认升序 reversed() 更改为降序 thenComparing() 多字段排序 List list = new ArrayList(); list.sort(Comparator.comparing("要排序的字段"));//升序 list.sort(Comparator.comparing("要排序的字段").reversed());//降序 list.sort(Comparator.comparing("要排序的字段1").thenComparing("要排序的字段2".

小码农吗 1246

【coze实战】基于Coze的公众号图文自动化生成工作流实战解析

【coze实战】基于Coze的公众号图文自动化生成工作流实战解析

大家好,我是码农老gou,一名专注于编程技术的程序员。在这个博客中,我将与大家分享我在工作和学习中的经验、见解以及一些实用的技术干货。 1万+

对字符串进行排序

给三个字符串,对它们进行排序,之前写过对三个数排序,定义一个中间变量,a,b,c依次比较,如果不是顺序,就用临时变量对它们进行交换。字符串也可以用这样的方法进行排序。 void Sort(const char *a,const char *b,const char *c)//字符串不能被修改,应该用const修饰 {  const char *tmp;//指针变量,用于交换两个指针,

Uranus1211的博客 2万+

北京途游游戏后端开发面经

北京途游游戏后端开发面经 我面试岗位是基于Python的后端开发工程师,主要是搞游戏的服务器开发。面试一共分了两轮,之后说是看看其他的候选人再定,感觉凉凉~~ 由于受到此次新型冠状病毒疫情的影响,本次面试采用视频面试的方式,下面是面试的时候面试官提的问题,python的基础知识还是问的比较多的。  一面:(32分钟微信视频)  简单做下自我介绍,   1.说一下你开发过的项目,挑一个说下你都做了...

weixin_45603043的博客 2125

手把手教你学simulink(31.31)--双向DCDC电源场景示例:设计并实现一个基于变频控制的双向降压变换

设计并实现一个基于 Simulink 的双向降压变换器,能够在充电模式(从高压侧向低压侧传输能量)和放电模式(从低压侧向高压侧传输能量)之间切换,确保输出电压稳定,并根据负载变化自动调整工作模式。

MHD0815的博客 343

C字符串排序

题目:输入几个字符串,并且给输入的字符串排序。 做题思路:在主函数中输入几个字符串,然后给定义的字符串排序,排序的方法是使用strcmp函数比较两个字符串的大小。 **注:**输入字符串使用malloc函数开辟动态存储 a[i]=(char *)malloc(3*sizeof(int)); 数组类型是字符型,在这里用char,然后用for循环依次输入字符串。 代码如下: #include<s...

Fairy_boyfriend的博客 3925

YOLOv8改进策略【损失函数篇】| 2024 引进Focaler-IoU损失函数 加强边界框回归 (Focaler-DIoU、Focaler-GIoU、Focaler-CIoU)

本文记录的是改进YOLOv8的损失函数,将其替换成。现有研究通过利用边界框之间的几何关系来提高回归性能,但忽略了困难样本和简单样本分布对边界框回归的影响。不同检测任务中困难样本和简单样本的分布不同,对于简单样本占主导的检测任务,关注简单样本的边界框回归有助于提高检测性能;对于困难样本比例较高的检测任务,需要关注困难样本的边界框回归。,提高检测器在不同检测任务中的性能。实现的。

Limiiiing的博客 1221

字符串排序算法

主要内容 键索引计数法 低位优先LSD 高位优先MSD 三向字符串快速排序 字符串排序算法总结比较 假定给定一个字符串数字,要求将该字符串数组排序。 规定字符串中的字符全集基数为R,即字符串中的每个字符都是字母表中某一个字符,其索引为[0,R)。 键索引计数法 假定给定的字符串数组为单个字符数组,假定基数256即每个字符在字母表中的索引在0-255之间,类似于计数...

大魔王 1万+

Vue2+OpenLayers动态绘制两个经纬度并计算距离(提供Gitee源码)

动态绘制两个经纬度并计算它们之间的距离。

黄团团的个人博客 365

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

python字符串排序_Python字符串排序

看了西红柿的博客,此文纯搬运,方便自己查询用。原文:https://www.cnblogs.com/tomato0906/articles/4890701.html1、python中的字符串类型是不允许直接修改元素的。必须先把要排序的字符串放在容器里,如list。python中list容器的sort()函数没有返回值。所以在python中对字符串排序需要好几行代码:s="string"l=list...

weixin_39618597的博客 2474

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

python字符串排序_Python对字符串列表进行排序

在本教程中,我们将看到如何对字符串列表进行排序。我们将使用sort方法和sorted函数对给定的字符串列表进行排序。然后,我们将了解如何根据不同的条件(例如长度,值等)对字符串列表进行排序,让我们看看如何使用list.sort方法对字符串列表进行排序。排序方法列表是一个insort。它将直接对原始列表进行排序。让我们看一下代码。示例#字符串列表strings = ['Python', 'C', '...

weixin_39850062的博客 3556

SAP B1中文培訓教材_SDK

公司内部培训资料,对开发工具 ,DIAPI, UIAPI,Add-ON有详细解说

visio安装包

Microsoft Office Visio 是一款专业的制图软件。利用经过更新的形状、协作工具和数据链接图表,创建专业级图表以简化复杂的信息。

字符串 - 字符串排序

1. 字符串排序 对于许多排序应用来说,决定顺序的键都是字符串。给定一列字符串,需要按一定顺序排列整齐方便后序处理。 2. 键索引计数法 这个方法名字有点拗口,过程有点绕,但是每一步其实很简单。 举个简单的例子: 过程看着有点复杂,但是代码真的非常简单,一步一行就可以。 public static void string_count(String...

weixin_34194702的博客 1625

字符串排序,排序指针而非排序字符串

排序的是指向字符串的指针!!! 理解紧跟字符串的含义走 但就多维数组来理解,会有所跑偏的:: 每个字符串就相当于一个指针 双引号括起来的内容,被视为指向该字符串存储位子的指针 string[i] :第一个字符串的地址,相当于字符串中第一个字符的地址 #include <stdio.h> #include <string.h> #include <ctype.h> #define SIZE 81/*限制了字符串长度,包含‘\0’*/ #define LIM 5 /*可读入

HanLongXia的博客 862

c++字符串排序_C语言的字符串排序的两种方法

我们来处理一个按字母表顺序排序字符串的实际问题。准备名单表、创建索引和许多其他情况下都会用到字符串排序。该程序主要是用strcmp()函数来确定两个字符串的顺序。一般的做法是读取字符串函数、排序字符串并打印出来。之前,我们设计了一个读取字符串的方案,该程序就用到这个方案。打印字符串没问题。程序使用标准的排序算法,稍后解释。我们使用了一个小技巧,看看读者是否能明白。程序sort_str.c演示了这个...

weixin_34281501的博客 3808

字符串编程题-字符串升序排序

*要求:将从键盘输入的5组字符串按升序排列 示例: 排序前输入: fsduhfscd 89234232 JDEJFEDE nejndjDJSN affnwfwe 排序后输出结果: 89234232 JDEJFEDE affnwfwe fsduhfscd nejndjDJSN 1、初级方法: ...

TyStk@..... 7041

字符串如何排序

  搜索引擎中用的是中文和和英文作为关键字,为了达到快速搜索的目的,常常需要排序,下面就说书如何对中英文字符串进行排序。   中文字符串按首字拼音排序 import net.sourceforge.pinyin4j.PinyinHelper; public class PinyinComparator implements Comparator { priva...

weixin_34293246的博客 2636
上一篇: 对字符串中的字符进行排序
下一篇: 如何测试一支笔
ka_ko
博客等级 码龄11年 168粉丝 94原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值