随机产生一个字符串数组,给数组排序。
时间: 2023-04-12 07:01:05 浏览: 78
可以使用以下 Lua 代码生成并排序一个随机字符串数组:
```lua
-- 生成随机字符串数组
local arr = {}
for i = 1, 10 do
local str = ""
for j = 1, math.random(5, 10) do
str = str .. string.char(math.random(97, 122))
end
table.insert(arr, str)
end
-- 排序数组
table.sort(arr)
-- 输出结果
for i, v in ipairs(arr) do
print(i, v)
end
```
这段代码会生成一个包含 10 个随机字符串的数组,并对其进行排序,最后输出排序后的结果。
相关问题
用java编写. 随机产生一个字符串数组,给数组排序
好的,以下是用 Java 编写的随机产生一个字符串数组并给数组排序的代码:
```java
import java.util.Arrays;
import java.util.Random;
public class StringArraySorter {
public static void main(String[] args) {
String[] arr = generateRandomStringArray(10);
System.out.println("Before sorting: " + Arrays.toString(arr));
Arrays.sort(arr);
System.out.println("After sorting: " + Arrays.toString(arr));
}
private static String[] generateRandomStringArray(int length) {
String[] arr = new String[length];
Random random = new Random();
for (int i = 0; i < length; i++) {
arr[i] = generateRandomString(random.nextInt(10) + 1);
}
return arr;
}
private static String generateRandomString(int length) {
StringBuilder sb = new StringBuilder();
Random random = new Random();
for (int i = 0; i < length; i++) {
sb.append((char) (random.nextInt(26) + 'a'));
}
return sb.toString();
}
}
```
这个程序会生成一个长度为 10 的字符串数组,并随机填充每个元素。然后使用 Java 自带的 `Arrays.sort()` 方法对数组进行排序,最后输出排序前后的数组。
string数组排序
对于字符串数组的排序,有多种方法可供选择。常见的排序方法包括升序、降序、字符长度升序、字符长度降序和随机排列。具体的方法有低位优先键索引排序、高位优先键索引排序、Java自带排序(经过调优的归并排序)、冒泡排序、快速排序和三向快速排序等。
下面是一个示例代码,演示了如何对字符串数组进行排序:
```java
String[] ss = {"java", "c", "c++", "go", "rust", "ruby", "javascript", "python", "c#"};
System.out.println("排序前:" + Arrays.toString(ss));
Arrays.sort(ss);
System.out.println("升序排序:" + Arrays.toString(ss));
Arrays.sort(ss, (a, b) -> b.compareTo(a));
System.out.println("降序排序:" + Arrays.toString(ss));
Arrays.sort(ss, (a, b) -> a.length() - b.length());
System.out.println("根据字符长度升序排序:" + Arrays.toString(ss));
Arrays.sort(ss, (a, b) -> b.length() - a.length());
System.out.println("根据字符长度降序排序:" + Arrays.toString(ss));
Random aa = new Random();
for (int i = 0; i < ss.length; i++) {
int a = aa.nextInt(ss.length);
int b = aa.nextInt(ss.length);
if (a == b) {
--i;
continue;
}
String t = ss[a];
ss[a = ss[b];
ss[b = t;
}
System.out.println("随机排列:" + Arrays.toString(ss));
```
在上述代码中,首先创建了一个字符串数组ss,并输出了排序前的数组。然后使用Arrays.sort()方法对数组进行升序排序,并输出排序后的结果。接下来使用自定义的比较器对数组进行降序排序,并输出排序后的结果。然后根据字符串的长度对数组进行升序排序,并输出结果。再根据字符串的长度对数组进行降序排序,并输出结果。最后使用随机数对数组进行洗牌操作,并输出结果。
通过以上代码演示,您可以了解到对字符串数组进行各种不同方式的排序的实现方法。<span class="em">1</span><span class="em">2</span><span class="em">3</span>
#### 引用[.reference_title]
- *1* *3* [【数组中“String字符串对象“排序常见的排序方法---升序,降序,字符长度升序,字符长度降序,随机(洗牌...](https://blog.csdn.net/qq_62124267/article/details/131711079)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"]
- *2* [6种字符串数组的java排序 (String array sort)](https://blog.csdn.net/starcrm/article/details/89426602)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"]
[ .reference_list ]