首页 > 编程语言 >用C#写一个方法对字符串里面的字符次数排序

用C#写一个方法对字符串里面的字符次数排序

时间:2024-07-17 15:59:55浏览次数:15  
标签:newSize C# ++ myStruct int 数组 ._ 字符串 排序

namespace _7._17day01
{
    public struct MyStruct
    {
        public string _name;
        public int _count;
    }
    internal class Program
    {
        static void Main(string[] args)
        {
            string str = "abcdacbdcbacbdacbcbacb";
            MyStruct[] myStruct = myStructs(str);
            foreach (var item in myStruct)
            {
                Console.WriteLine(item._name+"==="+item._count);
            }
        }

        public static MyStruct[] myStructs(string str)
        {
            int x = 0;
            MyStruct[] myStruct = new MyStruct[x];
            for (int i = 0; i < str.Length; i++)
            {
                bool b = true;

                for (int j = 0; j < x; j++)
                {
                    if (myStruct[j]._name.Equals(str[i].ToString()))
                    {
                        myStruct[j]._count++;
                        b = false;
                    }
                }
                if (b)
                {
                    x++;
                    Array.Resize(ref myStruct, x);
                    myStruct[x - 1]._name = str[i].ToString();
                    myStruct[x - 1]._count=1;
                }

            }

            for (int i = 0; i < myStruct.Length; i++)
            {
                for (int j = 0; j < myStruct.Length-1; j++)
                {
                    if (myStruct[j]._count > myStruct[j + 1]._count)
                    {
                        MyStruct m;
                        m= myStruct[j];
                        myStruct[j]=myStruct[j+1];
                        myStruct[j+1]=m;
                    }
                }
            }


            return myStruct;
        }
    }
}

关于Array.Resize介绍

Array.Resize 是 C# 中的一个方法,它允许你改变数组的大小。这个方法定义在 System 命名空间下的 Array 类中。Array.Resize 并不是直接修改原始数组的大小,而是创建一个新的数组,并根据需要复制原始数组的内容到新数组中。

语法

public static T[] Resize<T>(ref T[] array, int newSize);

  • T[] 是数组的类型,T 是数组元素的类型参数。
  • ref T[] array 是原始数组的引用。
  • int newSize 是新数组的大小。

参数

  • array:要调整大小的数组。
  • newSize:数组的新大小。

返回值

Array.Resize 返回一个新的数组,其大小为 newSize。如果 newSize 大于原始数组的大小,新数组的额外部分将被初始化为类型的默认值。如果 newSize 小于原始数组的大小,新数组将只包含原始数组的前 newSize 个元素。

标签:newSize,C#,++,myStruct,int,数组,._,字符串,排序
From: https://blog.csdn.net/weixin_64532720/article/details/140497585

相关文章

  • PyCharm安装教程(详细步骤)
    一、软件简介PyCharm是一款PythonIDE,其带有一整套可以帮助用户在使用Python语言开发时提高其效率的工具,比如,调试、语法高亮、Project管理、代码跳转、智能提示、自动完成、单元测试、版本控制等等。此外,该IDE提供了一些高级功能,以用于支持Django框架下的专业Web开发。......
  • ES快速开发,ElasticsearchRestTemplate基本使用以及ELK快速部署
    最近博主有一些elasticsearch的工作,所以更新的慢了些,现在就教大家快速入门,并对一些基本的查询、更新需求做一下示例,废话不多说开始:1. ES快速上手es下载:[https://elasticsearch.cn/download/]()这里关于es所需要的链接基本都有,可以快速下载使用当你解压好了归档文件之后,Elas......
  • Nacos(二)源码分析Nacos服务端注册示例流程
    上回我们讲解了客户端配置好nacos后,是如何进行注册到服务器的,那我们今天来讲解一下服务器端接收到注册实例请求后会做怎么样的处理。首先还是把博主画的源码分析图例发一下,让大家对整个流程有一个大概的理解:图示流程地址:https://www.processon.com/view/link/5f7e895......
  • 7月SCI&SSCI期刊目录更新!6本期刊被剔除,“On Hold”期刊占半成
    【SciencePub学术】又到了一月一度的科睿唯安官网更新WebofScience核心期刊目录的时候,小编今天带大家一起来看看最新的SCI/SSCI期刊目录有哪些变化吧。来源:科睿唯安官网继上次SCI期刊目录和SSCI期刊目录更新之后,本次7月更新共有8本期刊发生变动:•SCIE:有4本期刊不再......
  • 钡铼Profinet、EtherCAT、Modbus、MQTT、Ethernet/IP、OPC UA分布式IO系统BL20X系列耦
    BL20X系列耦合器是钡铼技术开发的一款用于分布式I/O系统的设备,专为工业环境下的高速数据传输和远程设备控制而设计,支持多种工业以太网协议,包括Profinet、EtherCAT、Modbus、MQTT、Ethernet/IP和OPCUA等。如果您正在考虑部署BL20X系列耦合器又不知选择哪款,那不妨来看一看钡铼......
  • 如何安装Ascend深度学习套件
    1、 驱动安装1.1驱动测试输入测试命令:npu-smiinfo 结果如下: 1.2Ascend驱动未安装请参考Ascend驱动的安装文档,进行安装对应显卡的驱动,文档链接如下:https://support.huawei.com/enterprise/zh/doc/EDOC1100368783/2645a51f 2、 Ascend 深度学习套......
  • 运动会分数统计(数据结构课设)(C语言版)
         本文为数据结构与算法的课程设计《运动会分数统计》的一个分享,使用了顺序表的数据结构。并且将信息以表格的方式打印输出和在txt文件中导入导出。目录1.设计内容和要求2.代码实现1.结构体定义2.全局变量和变量定义3.键盘输入信息4.信息显示5.文件导入导出......
  • postman测wcf
    服务地址  postman配置设置 SOAPAction  设置请求内容: <?xmlversion="1.0"encoding="utf-8"?><soap:Envelopexmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xmlns:xsd="http://www.w3.org/2001/XML......
  • ASP.NET Core -NLog
    1.安装NuGet包2.准备Nlog的配置文件 nlog.config<?xmlversion="1.0"encoding="utf-8"?><nlogxmlns="http://www.nlog-project.org/schemas/NLog.xsd"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"au......
  • 解决IDEA的Process exited with an error: 1 (Exit value: 1)问题
    1.问题IDEA在启动springboot启动类是出现的问题2.分析问题这是因为启动类的端口被占用啦,在我这个启动类中我的默认端口是8080,如下图:所以解决问题就很简单啦,我们只需要找到对应端口被占用的应用,然后将他的进程停止就可以啦3.解决问题1.打开控制台,cmd2.查找对应对应端口是......