本文目录
C++对字符数组排序
与其它排序类似,字符数组排序也是根据一定算法,如冒泡法,将各个项值进行比较,并通过赋值交换位置即可。
对于字符数组,赋值和比较均与一般对象或变量不同。
1 字符数组比较:
需要调用strcmp函数。
int strcmp(char *s1, char *s2);
按照ascii码比较,当s1和s2相等时返回0,如果s1大则返回1,否则返回-1。
2 字符数组赋值。
需要调用strcpy函数。
char *strcpy(char *dst, char *src);
将src中的字符串复制到dst中。
注意:要使用以上两个函数,需要引用头文件cstring。
以下是一个排序的参考代码:
#include 《cstring》#include 《iostream》using namespace std;int main(){ char buf;//100个字符数组组成的二维数组。 char t; int i,j; for(i = 0; i 《 100; i ++) cin》》buf;//输入值。 for(i = 0; i 《 99; i ++)//执行排序。选择法。 for(j = i+1; j《100; j ++) { if(strcmp(buf) 《 0)//比较 { strcpy(t,buf); strcpy(buf); strcpy(buf, t);//这三句为交换。 } } for(i = 0; i 《 100; i ++) cout 《《 buf《《endl;//输出排序后的值。 return 0;}
字符串数组的排序
取 statusC 的字符串,在 status中查询位置,再在statusC中按此位置赋值。
字符串数组的遍历和排序
已经测试通过 满意就给分吧Private Sub Command1_Click() Dim a(5) a(0) = 100 a(1) = 123 a(2) = 456 a(3) = 333 a(4) = 122 a(5) = 88 MsgBox "现在开始遍历输出", , "提示" For i = 0 To UBound(a) MsgBox "a(" & i & ")=" & a(i), , "提示" Next MsgBox "现在开始冒泡排序输出", , "提示" For i = 0 To UBound(a) For ii = i To UBound(a) If a(i) 》 a(ii) Then tmp = a(ii) a(ii) = a(i) a(i) = tmp End If Next Next For i = 0 To UBound(a) MsgBox "a(" & i & ")=" & a(i), , "提示" Next End Sub
java中应该怎样对字符串数组进行排序
可以使用冒泡排序,选择排序等多种方式就行排序,两个for循环嵌套就可以或者使用sort()方法进行快速排序
java字符串数组怎么排序
一般情况下用java.util.Arrays.sort(字符串数组);按字典排序, 比如 "2" 就大于 "123"如果你对字符串有自己的排序方法, 比如按长度等那么你就要实现自己的Comparetor《String》, 这方面资料你自己找找一样用上面的方法, 只不过参数要加一个Comparetor对象
String数组排序
因为你把Arrays.sort(c)写在for循环里,每次s1只有一个数据而且是字符串(你可以把s1输出到控制台看看),所以Arrays.sort(c)不排序。我给你改了一下,改动的地方比较多,你看看吧。import java.util.ArrayList;import java.util.Arrays;import java.util.List;public class Hello {public static void main(String args) {String s={"5","a","8","12","c","b","d","c","a","b","e","f","f","8","22","a","f","e","15"};int c={};ArrayList《String》 list=new ArrayList《String》();for(int i=0;i《s.length;i++){list.add(s);}ArrayList《String》 list1=new ArrayList《String》();for(int j=0;j《list.size();j++){if(!(list.get(j)).contains("d")&&!(list.get(j)).contains("a")&&!(list.get(j)).contains("f")&&!(list.get(j)).contains("c")&&!(list.get(j)).contains("b")&&!(list.get(j)).contains("e")){String s1=list.get(j);list1.add(s1);}}c=new int;for(int k=0;k《list1.size();k++){c=Integer.parseInt(list1.get(k));}Arrays.sort(c);for(int k=0;k《c.length;k++){System.out.println(c);}}} 运行结果:588121522