sort怎么对字符串进行排序

作者&投稿:兴可 (若有异议请与网页底部的电邮联系)
JavaScript中的sort如果对字符串/对象进行排序,排序规则是怎样的~

对字符串数组排序很简单,只需要直接用sort()即可,这是它的默认排序方式(按字符顺序或者说按字符的ASCII码顺序):

var a = ["666", "123", "4", "88", "1111"];
alert(a.sort()); //1111,123,4,666,88

如果是数值数组,也直接使用sort()的话,也是按字符方式来排序的,需要给sort提供一个自定义的排序规则函数才能实现按数值大小排序:
var a = [666, 123, 4, 88, 1111];
alert(a.sort()); //1111,123,4,666,88
alert(a.sort(function(a, b){return a-b;})); //4, 88, 123, 666, 1111

如果是对象数组,要根据对象中一个共同的属性值来排序,则情况要复杂得多,需要定义一个比较函数来实现:
var a = [{"name":"张三", "age":34}, {"name":"李四", "age":28}, {"name":"王五", "age":45}, {"name":"赵六", "age":37}];
a.sort(function(n){
return function(o,p){
var a,b;
if(typeof o==="object"&&typeof p==="object"&&o&&p){
a=o[n];
b=p[n];
if(a===b)return 0;
if(typeof a===typeof b)return a<b?-1:1;
return typeof a<typeof b?-1:1;
}else{
throw "error";
}
}
}("age")); //排序结果此略

//我写的一个简单的使用C++ sort的例子,供你参考

#include
#include

typedef struct _TestSortArray
{
char _arrStr[16];
}TestSortArray;

int main()
{
TestSortArray tsa;
tsa._arrStr[15] = 0;

char a = 'z';
for (int i = 0;i < 15; ++i)

首先,你要学会查文档,文档当中都写得清清楚楚。还有需要注意的是sort的排序是采用bubble的。只能在一般的处理,如果要求算法比较高的就不行了~但是他 能做的事情就很多了,比如说能给对象从小到大排序。等等。但是也有局限性的。具体的用法楼上也说了:
static void sort(byte[] a)
对指定的 byte 型数组按数字升序进行排序。
static void sort(byte[] a, int fromIndex, int toIndex)
对指定 byte 型数组的指定范围按数字升序进行排序。
static void sort(char[] a)
对指定的 char 型数组按数字升序进行排序。
static void sort(char[] a, int fromIndex, int toIndex)
对指定 char 型数组的指定范围按数字升序进行排序。
static void sort(double[] a)
对指定的 double 型数组按数字升序进行排序。
static void sort(double[] a, int fromIndex, int toIndex)
对指定 double 型数组的指定范围按数字升序进行排序。
static void sort(float[] a)
对指定的 float 型数组按数字升序进行排序。
static void sort(float[] a, int fromIndex, int toIndex)
对指定 float 型数组的指定范围按数字升序进行排序。
static void sort(int[] a)
对指定的 int 型数组按数字升序进行排序。
static void sort(int[] a, int fromIndex, int toIndex)
对指定 int 型数组的指定范围按数字升序进行排序。
static void sort(long[] a)
对指定的 long 型数组按数字升序进行排序。
static void sort(long[] a, int fromIndex, int toIndex)
对指定 long 型数组的指定范围按数字升序进行排序。
static void sort(Object[] a)
根据元素的自然顺序对指定对象数组按升序进行排序。
static void sort(Object[] a, int fromIndex, int toIndex)
根据元素的自然顺序对指定对象数组的指定范围按升序进行排序。
static void sort(short[] a)
对指定的 short 型数组按数字升序进行排序。
static void sort(short[] a, int fromIndex, int toIndex)
对指定 short 型数组的指定范围按数字升序进行排序。
static <T> void
sort(T[] a, Comparator<? super T> c)
根据指定比较器产生的顺序对指定对象数组进行排序。
static <T> void
sort(T[] a, int fromIndex, int toIndex, Comparator<? super T> c)
根据指定比较器产生的顺序对指定对象数组的指定范围进行排序。
。总之记得查文档,文档里都有

调用sort这个函数可以实现对整形,浮点型,字符型的排序,对字符的排序是按照第一个字母的ASC||排序的,第一个字母一样就按第二个字母排序。其实sort就是封装的模板。

按 ascii码

如果第一个字符ascii码相同

则比较下一个

如此这般


数据分析python多久入门?
高并发语言GO开发课程内容包括:Golang的发展介绍、开发环境搭建、golang和其他语言对比、字符串详解、条件判断、循环、使用数组和map数据类型、go程序编译和Makefile、gofmt工具、godoc文档生成工具详解、斐波那契数列、数据和切片、makenew、字符串、go程序调试、slicemap、map排序、常用标准库使用、文件增删改查操作、函...

如何设置serv-u啊,我设置了别人进不了啊
需要注意的是这里对匿名用户密码的检测非常简单,只要匿名用户输入符合邮件地址格式的任意字符串即可,S erv-U 不会进一步的判断用户输入的邮件地址是否真正存在。 下一项为预防反超时措施。如果用户选择了该选项,Serv-U 将会采用新的记时方式,那些希望通过定期向服务器发送命令来防止出现超时操作的用户将不再得逞。

请问有没有,同一时刻给多台站点(计算机),进行同一文件的ftp传输软件...
需要注意的是这里对匿名用户密码的检测非常简单,只要匿名用户输入符合邮件地址格式的任意字符串即可,S erv-U 不会进一步的判断用户输入的邮件地址是否真正存在。 下一项为预防反超时措施。如果用户选择了该选项,Serv-U 将会采用新的记时方式,那些希望通过定期向服务器发送命令来防止出现超时操作的用户将不再得逞。

如何创建FTP服务器?
需要注意的是这里对匿名用户密码的检测非常简单,只要匿名用户输入符合邮件地址格式的任意字符串即可,S erv-U 不会进一步的判断用户输入的邮件地址是否真正存在。 下一项为预防反超时措施。如果用户选择了该选项,Serv-U 将会采用新的记时方式,那些希望通过定期向服务器发送命令来防止出现超时操作的用户将不再得逞。

雅安市13951789852: JavaScript中的sort如果对字符串/对象进行排序,排序规则是怎样的 -
巨冠欣美: 对字符串数组排序很简单,只需要直接用sort()即可,这是它的默认排序方式(按字符顺序或者说按字符的ASCII码顺序):<br><br>var a = ["666", "123", "4", "88", "1111"];<br>alert(a.sort()); //1111,123,4,666,88<br><br>如果是数...

雅安市13951789852: sort字符串排序函数怎么用,请热心网友写一个小程序实例下…… -
巨冠欣美: #include<algorithm>头文件 函数Sort()用于对参数整数数组array的元素进行由小到大的选择排序,其中参数n表示array数组中存储的数组元素数.例如,假设数组array中有10个元素,选择排序就是:先将10个数中的最小数与a[0]对换;再将a[1]到a[9]中的最小数与a[1]对换,….,直到排序完成.最简单的使用sort(a,a+n);a为数组名,n为数组长度

雅安市13951789852: sort字符串排序函数怎么用,请热心网友写一个小程序实例下…… -
巨冠欣美: #include头文件函数Sort()用于对参数整数数组array的元素进行由小到大的选择排序,其中参数n表示array数组中存储的数组元素数.例如,...

雅安市13951789852: c++对多个字符串排序 -
巨冠欣美: 可以用sort对每个字母进行排序,从高到底就可以了...

雅安市13951789852: C语言要求通过键盘输入5字符串,再调用函数sort给字符串从小到大排列,再调用print函数完成字符串输出. -
巨冠欣美: 看你代码原意,是想定义一个字符串数组strs.但是你写的char *strs[5];表示的是一个维度为5的指针数组.你可以把strs直接改成字符串数组,char strs[5][N],但你后面的函数参数类型也要跟着改.如果你不想改动其他函数,还继续使用指针数...

雅安市13951789852: 编写sort函数,实现用选择排序法对字符一维数组中存储的有效字符按降序排序 -
巨冠欣美: 【程序】#include<stdio.h>#include<string.h> void sort(char *str) { int i,j; char c; for ( i=0;i<strlen(str)-1;i++ ) for ( j=i+1;j<strlen(str);j++ ) if ( str[i]<str[j] ) { c=str[i]; str[i]=str[j]; str[j]=c; } } void main() { char s[256]; printf("请输入一个字符串,字符数最多...

雅安市13951789852: c++ sort string降序 -
巨冠欣美: sort函数默认是按升序排序的,当然你也可以按照降序排序.不过需要你自己写比较函数,下面给你一个例子,你自己参看写.#include <iostream>#include <algorithm>#include <functional>#include <vector> using namespace std; class myclass ...

雅安市13951789852: c语言 下列函数sort实现对字符串按字典顺序由小到大排序,请填空 -
巨冠欣美: 答案:(1)char *p[],int n(2)*temp(3)p[j],p[j+1])>0(4)p[j]=p[j+1]分析:(1)由实参得知函数sort()有两个形参,根据上题得char *p[],int n.(2)有下面语句temp=p[j]可以得到temp是字符中指针.(3)根据冒泡排序方法和字符串比较函数得到p[j],p[j+1])>0.(4)字符串指针可以通过赋值语句传递值,字符串变量不能够使用赋值语句传递值.

雅安市13951789852: sort()默认升序排列吗 -
巨冠欣美: sort()方法会调用每个数组项的toString()转型方法,比较得到的字符串的编码大小,按照最小值在前面,最大值在后面的方式排序.默认升序,但是是按照字符串的字符编码来排序,所以你在输入数字排序的时候有时候会得到与你想的不一样的结果;最好封装一个函数,进行参数的比较,因为参数都是按值传递的,在进行sort排序即可,如果你想反转排序,可以采用reverse

雅安市13951789852: C++sort函数如何给结构体中的字符串排序? -
巨冠欣美: //我写的一个简单的使用C++ sort的例子,供你参考#include #include typedef struct _TestSortArray{ char _arrStr[16];}TestSortArray;int main(){ TestSortArray tsa; tsa._arrStr[15] = 0; char a = 'z'; for (int i = 0;i

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网