package com.mindao.app.vpatient.utils;
import java.util.ArrayList;
import java.util.LinkedList;
import java.util.List;
/**
/* 版权所有: 广州敏道科技有限公司
/*
/* 功能描述: 字符串处理工具类
/*
/* 创 建 人:李国才
/* 创建时间:2016年8月8日 上午10:35:35
**/
public class StringUtils {
/**
* ABCD等多个数组元素任意组合得到所有的使用了全部元素的新字符串数组,
* 比如ABC应该有3*2=6种,ABCD 有4*3*2=12种组合
* @param list
* @param s
* @return
*/
public static List<String> getAllSortList(List<String> list,String s){
if (list.size()==1){
List<String> tmpList =new ArrayList<>();
String tmps= s+list.get(0);
tmpList.add(tmps);
return tmpList;
}
List<String> allList =new ArrayList<>();
for (int i=0;i<list.size();i++) {
List<String> tmpList =new ArrayList<>(list);
List<String> tmpList2 =getAllSortList(tmpList,s+tmpList.remove(i));
allList.addAll(tmpList2);
}
return allList;
}
public static void main(String[] args) {
List<String> orgList =new ArrayList<>();
orgList.add("A");
orgList.add("B");
orgList.add("C");
List<String> desList = getAllSortList(orgList,"");
for (String des : desList) {
System.out.println(des);
}
}
}
运行结果:
ABC
ACB
BAC
BCA
CAB
CBA
分享到:
相关推荐
在Python编程语言中,字符串数组的逆序排列是常见的数据操作。本文将详细介绍三种不同的方法来实现这个功能,以及一种特殊情况下对字符串内部字符的逆序排列。 首先,我们来看如何对字符串数组进行逆序排列: 1. *...
最后,我们可以将这两个数组重新组合成原始字符串。以下jiou函数将奇数位数组和偶数位数组合并,确保它们按照原始顺序排列: ```javascript function jiou(oddChars, evenChars) { oddChars = oddChars.split('');...
4. **重新组合**:将打乱后的字符或单词重新组合成新的文本,可能需要用到“字符串连接”等函数。 5. **显示结果**:最后,将打乱后的文本显示回编辑框中,供用户查看。这一步通常涉及到“设编辑框内容”等操作。 ...
- `str_replace`、`str_ireplace`、`str_replace`、`str_rot13`、`str_shuffle` 等函数用于字符串的替换、旋转、随机排列等。 - `str_split` 将字符串分割成数组。 - `str_word_count` 计算字符串中的单词数。 - `...
实验报告“数据结构 实验报告5串与数组.docx”主要涵盖了两个核心概念:字符串(String)和数组(Array),这两个都是数据结构的基础元素,在计算机科学尤其是编程领域中至关重要。在此实验中,学生通过实际操作来...
- 字符串分割与重组:将单词倒序后重新组合成新的字符串。 - 文件I/O:最后将处理后的字符串写入`OUT6.DAT`。 这些题目涵盖了基础的C语言编程技巧,包括函数定义、数组操作、条件判断、循环、字符串处理以及文件I...
1. 字符串操作:程序中提到了字符串的拼接和反转,例如将字符串s的正序和反序连接成新的字符串t,这涉及到字符串处理的基本技巧,如字符串长度计算、字符拷贝以及字符串遍历。 2. 数学公式计算:涉及到用特定公式求...
它首先获取每一行的长度,然后逐词处理,将单词倒序后再重新组合成新的字符串。这个过程涉及到对字符串的分割、处理和拼接,体现了字符串处理的技巧。 这些题目涉及的知识点在实际的编程和数据分析中都非常常见,...
标准答案首先移除非字母字符,然后从后向前遍历字符串,将单词依次存入临时数组,最后将处理后的单词逆序连接成新的字符串并替换原字符串。 以上四个题目都是基于C语言编程的基础知识,包括基本的数据结构(如数组...
4. **去除重复项**:再次遍历数组,将不重复的数字重新组合成新的字符串并返回。 #### 五、应用场景 - **数据分析**:在进行市场调研、客户行为分析等场景下,去除重复项并排序可以帮助快速获取关键信息。 - **...
这可以通过查找空格或标点符号来分割单词,使用栈或反转字符串的方法来实现单词的倒序,最后重新组合成新的字符串。 以上知识点涵盖了素数检测、数组操作、文件操作、条件统计、字符串处理和单词操作等多个方面,...
9. **array_combine**:该函数使用一个数组的值作为键,另一个数组的值作为值,组合成新的关联数组。 10. **array_flip**:此函数交换数组中的键和值。如果键和值有重复,结果中只会保留最后出现的键值对。 11. **...
题目要求输出一个字符串的所有可能排列。 - **解题思路**:采用递归的方式,对字符串的每一个字符进行交换,生成所有可能的排列。递归结束的条件是当前层级的字符串长度等于总的字符串长度,此时输出当前字符串即可...
- **定义**:全排列是指从给定的字符串中取出所有可能的组合方式。例如,对于字符串“abc”,其所有可能的全排列包括:“abc”、“acb”、“bac”、“bca”、“cba”和“cab”。 - **递归算法**:通过递归调用自身...
通过遍历字符串,统计ASCII码对应的字符出现次数,将其存储在一个数组中。例如,在C++中,可以使用一个大小为256的整型数组`nNum`来记录每个ASCII字符的频率,初始化时将所有元素设为0,然后逐个字符统计,如代码所...
本题要求以行为单位对字符串数组中的每一行进行单词倒序处理,保留原有的空格和标点符号。`StrOL<void>`函数实现了这个功能,它首先找到单词边界,然后倒序存储每个单词,再重新组合成新的字符串。 ```c // 倒序...