zoukankan      html  css  js  c++  java
  • 算法学习笔记(二)字符串根据逆序排序

    1.存放字符串数组的方法:

    ①使用二维数组char str[size][length],第一维指定字符串的数量,第二维指定字符串的长度,读入时,只需要将内容写入第一维,例如cin >> str[i]

    ②使用string类型,先加入头文件string,然后就可以定义字符串类型的变量,string变量还可以作为字符数组使用。


    2.如果已知一些字符串和它们的逆序,要求按照逆序的升序排列字符串,就涉及到带有关联关系的排序问题,这里有一个好的解决办法是对逆序采用选择排序,每次找出逆序中的最小值,然后输出逆序对应的字符串,接着给这个最小的逆序值赋一个大于数组中任何数的值,再在数组中寻找最小值。为了简化问题,假设这些字符串的长度相等。实现代码如下:

    #define NX_MAX 0XFFFFFF //用于赋值给逆序数组中的最小值
    int string_count; //字符串的数量
    int string_length; //字符串的长度
    char string_table[string_count][string_length]; //假设字符串已经录入,注意,实际中不能这
    //样给数组开辟内存空间,应该先预定义一个较大的数组
    int nx_table[string_count]; //假设对应于上面数组的逆序已经求出
    int i,j;
    int min_index = 0; //存储最小的逆序索引
    for(i = 0; i < string_count; i++)
    {
         for(j = 0; j < string_count; j++)
             if(nx_table[j] < nx_table[min_index])
                 min_index = j;
         cout << string_table[min_index] << endl;
         nx_table[min_index] = NX_MAX; //关键的一句,将已使用的逆序赋为不会再被找出的值
    }
  • 相关阅读:
    HttpWebRequest请求超时的解决方案!
    HttpWebRequest常用问题!
    System.IO 的三个抽象类
    枚举
    IINQ 的链接
    怎么样将sql server数据库中的结构导入到powerdesign中
    System.IO的三个静态类
    System.IO TextReader的二个子类
    学习序列化
    LookAndFeel枚举说明
  • 原文地址:https://www.cnblogs.com/aiwz/p/6154272.html
Copyright © 2011-2022 走看看