玛沁宠物网

    对Array进行排序

    发布时间:2019-09-17

    额,他只是为了让你明白sort(char,1,3)是从第1个开始,到第3个(但是不包括第3个)的字符进行排序。

    回复:

    [1,3)--等价于-->,不包含右边的数字,java中大部分区间都是左闭右开的,这里就是[1,就是包含左边的数字这里写3-1是告诉你2是怎么来的啊

    回复:

    delphi里没有。如果你不想自己写,可以在网上搜现成的代码

    回复:

    是为了突出后面两个参数的意义:第一个整数表示:从哪个下标开始(包括该元素)第一个整数表示:到哪个下标结束(注意:不包括该元素)这就是原因,为了表示不包括该下标的元素

    回复:

    就是放入Tstringlist内
    同sort方法排序
    然后再输出到数组

    至于再返回来,没什么好办法,还是保留原来没排序之前的Stringlist吧

    var
    arr1:array [0..9] of integer;
    s1:Tstringlist;
    i:integer;
    begin
    arr1[0]:=6;
    arr1[1]:=5;
    arr1[2]:=4;
    arr1[3]:=3;
    arr1[4]:=2;
    arr1[5]:=1;
    arr1[6]:=0;
    arr1[7]:=9;
    畅笭扳蝗殖豪帮通爆坤 arr1[8]:=7;
    arr1[9]:=8;
    s1:=Tstringlist.Create;
    s2:=Tstringlist.Create;
    for i:=0 to length(arr1)-1 do
    begin
    s1.Add(inttostr(arr1[i]))

    end;
    s2.Text:=s1.Text;
    s1.Sort;

    for i:=0 to s1.Count-1 do
    begin
    arr1[i]:=strtoint(s1.Strings[i]);

    end;
    showmessage(inttostr(arr1[0]));
    showmessage(inttostr(arr1[1]));
    showmessage(inttostr(arr1[2]));
    end;
    其中 s2就保存未排序之前的数据 s2 声明为全局变量

    回复:

    额,,, 数组 是从0开始的. 所以呢1,3 那么就是0 1 2 这三个元素

    回复:

    畅笭扳蝗殖豪帮通爆坤Delphi很久很久没玩,不过任何一种高级编程语言都会有排序函数可调用,要去查资料.
    我说知道的C# VB.NET,都有这样的函数可用,否则,可以放弃该编程语言了。
    不过我对Delphi不熟悉,你应该自己去查找资料。

    回复:

    Objective-C的数组比C++,Java的数组强大在于,NSArray保存的对象可以是不同的对象。但只能保存对象,int ,char,double等基本数据类型不能直接保存,需要通过转换成对象才能加入数组。

    Objective-C的数组比C++,Java的数组强大在于,NSArray保存的对象可以是不同的对象。但只能保存对象,int ,char,double等基本数据类型不能直接保存,需要通过转换成对象才能加入数组。

    回复:

    其中 -0:IllegalArgumentException - 如果 fromIndex >。此排序法不同于 <,甚至不等于它自身.0 == 0.6的解释; 关系式对不同数字 -0:
    public static void sort(double[] a,这导致其他快速排序会降低二次型性能.lang。
    该排序算法是一个经过调优的快速排序法。但 <,而是利用 Double。此算法在许多数据集上提供 n*log(n) 性能; 关系式不能提供所有浮点值的整体排序; a. 23(11) P,改编自 Jon L.Double) 来完成整体排序.0 的值, Software-Practice and Experience Vol; 关系式。(如果 fromIndex==toIndex; 0 或 toIndex >,int toIndex)
    对指定 double 型数组的指定范围按数字升序进行排序,int fromIndex.compareTo(java,此方法不使用 <. Douglas McIlroy 合著的 Engineering a Sort Function",并且认为 NaN 值既不小于或大于任何浮点值. 1249-1265 (November 1993)。为了进行排序,所有 NaN 值都被认为是等效且相等的; oIndex
    ArrayIndexOutOfBoundsException - 如果 fromIndex <.0 被认为是小于 0.0 返回的结果为 true,则排序范围为空:a - 要排序的数组
    fromIndex - 要排序的第一个元素的索引(包括)
    toIndex - 要排序的最后一个元素的索引(不包括)
    抛出。为了允许进行排序,并且 NaN 被认为大于其他任何浮点值。)
    虽然 <。排序的范围从索引 fromIndex(包括)一直到索引 toIndex(不包括); 关系式来确定数字升序排序。
    参数. Bentley 和 M;JDK API 1,也不等于任何浮点值

    回复:

    NSNumber不能做这种比较吧,只是基本类型的对象,你这个应该要重写compare方法的,OC具体怎么做就不清楚了

    回复:

    // 你没有表述清楚 a15+3 和a16+2 怎么比较呢 或者 16和a15呢
    // 下面是忽略了a的值的算法
    // 不清楚的到qq群209798263问

    char * a_char[] = {"a123","a14","a17","a17+100","a19","a60","a83","a105+100","a109+120","a109+110","a109","a109+500"};
    NSMutableArray *arr = [NSMutableArray array];

    for (int i = 0; i < 12; i++) {
    NSString *s = [NSString stringWithCString:a_char[i] encoding:NSUTF8StringEncoding];
    [arr addObject:s];
    }

    NSLog(@"older arr = %@", arr);

    NSArray *newArr = [arr sortedArrayUsingComparator:^NSComparisonResult(id obj1, id obj2) {
    NSString *s1 = (NSString *)[[obj1 copy] lowercaseString];
    NSString *s2 = (NSString *)[[obj2 copy] lowercaseString];

    s1 = [s1 stringByReplacingOccurrencesOfString:@"a" withString:@""];
    s2 = [s2 stringByReplacingOccurrencesOfString:@"a" withString:@""];

    s1 = [s1 stringByReplacingOccurrencesOfString:@" " withString:@""];
    s2 = [s2 stringByReplacingOccurrencesOfString:@" " withString:@""];

    NSArray *arr1 = [s1 componentsSeparatedByString:@"+"];
    NSArray *arr2 = [s2 componentsSeparatedByString:@"+"];

    float value1 = 0;
    for (NSString *s in arr1) {
    value1 += [s floatValue];
    }

    float value2 = 0;
    for (NSString *s in arr2) {
    value2 += [s floatValue];
    }

    if (value1 > value2) {
    return NSOrderedDescending;
    }

    if (value1 >= value2 && value1 <= value2) {
    return NSOrderedSame;
    }

    return NSOrderedAscending;
    }];

    NSLog(@"new arr = %@", newArr);

    回复:

    1、以B3:H3为辅助单元格,输入以下公式,按Ctrl+Enter组合键结束 =B1-COLUMN(A1)*0.00001 通过原数据减去列标再乘以一个极其小的数,以区别相同数据与不同列标的差别。 2、选择B2:H2单元格,输入以下公式,按Ctrl+Enter组合键结束 =RANK(B3,$B3:...

    回复:

    -(void)test { //建立一个block,用来描述比较条件 NSComparator cp=^(NSString * obj1,NSString * obj2) { //首先,将字母a去掉 obj1=[obj1 substringFromIndex:1]; obj2=[obj2 substringFromIndex:1]; //然后,使用@“+”进行对字符串进行分割 N...

    回复:

    就是放入Tstringlist内 同sort方法排序 然后再输出到数组 至于再返回来,没什么好办法,还是保留原来没排序之前的Stringlist吧 var arr1:array [0..9] of integer; s1:Tstringlist; i:integer; begin arr1[0]:=6; arr1[1]:=5; arr1[2]:=4; arr1[...

    回复:

    看看能不能满足你要求 import java.util.ArrayList; import java.util.Collections; import java.util.Comparator; import java.util.List; import java.util.Set; import java.util.TreeSet; public class Admin { public static void main(Str...

    回复:

    只有自己动手尝试才能真正掌握东西,你如果想学习,给你个思路, 把4列合并成一个字符串,然后组成个一维数组, 先根据 B列字段的大小对 这个1维数组排序, 然后再根据 A列字段大小 ,对这个一维数组排序, 之后再拆分这个一维数组成 四列 的数...

    回复:

    JDK API 1.6的解释: public static void sort(double[] a,int fromIndex,int toIndex) 对指定 double 型数组的指定范围按数字升序进行排序。排序的范围从索引 fromIndex(包括)一直到索引 toIndex(不包括)。(如果 fromIndex==toIndex,则排...

    回复:

    这个排序是什么规律? php数组排序函数 http://www.w3school.com.cn/php/php_ref_array.asp 搜索 sort 关键字可以查看所有排序相关函数。 常用的排序函数有:sort、ksort、rsort、krsort

      上一篇:小孩脸上有白块吃维生素c行吗? 下一篇:汽车企业之间的竟争表现再那些方面?

      返回主页:玛沁宠物网

      本文网址:http://0975pet.cn/view-47505-1.html
      信息删除