精华内容
下载资源
问答
  • 对数组排序

    2012-12-21 09:44:32
    在objective-c 里,如果想对一个数组里的对象进行排序,数组里的对象是自己定义的对象,大家都会用到  [NSSortDescriptor sortDescriptorWithKey:@"Key" ascending:NO]; 但是如果数组里放的是字典,要对字典的...
    在objective-c 里,如果想对一个数组里的对象进行排序,数组里的对象是自己定义的对象,大家都会用到 
    

    [NSSortDescriptor sortDescriptorWithKey:@"Key" ascending:NO];

    但是如果数组里放的是字典,要对字典的value按照它对象的一个字段排序,那么我们就有问题了。


    我们可以这样做。


    [array sortUsingDescriptors:

                 [NSArray arrayWithObjects:

                  [NSSortDescriptor sortDescriptorWithKey:@"key" ascending:NO], nil]];


    字典里的value是我们自己定义的对象,要对它其中的对象按照字段排序。

    我们只要在自定义对象里边加入 

    - (NSComparisonResult) compare:(NSString *)string{

        return NSOrderedAscending;

    }

    即可。


    return NSOrderedAscending;既是你要排序的顺序。

    展开全文
  • 主要介绍了php对数组排序代码,需要的朋友可以参考下
  • 主要介绍了Java使用选择排序法对数组排序实现代码,需要的朋友可以参考下
  • 本篇文章小编给大家分享一下java使用IO流对数组排序实例代码解析,文章代码介绍的很详细,小编觉得挺不错的,现在分享给大家供大家参考,有需要的小伙伴们可以来看看。1、排序思路(1)从字符输入流中读取文本,缓冲...

    本篇文章小编给大家分享一下java使用IO流对数组排序实例代码解析,文章代码介绍的很详细,小编觉得挺不错的,现在分享给大家供大家参考,有需要的小伙伴们可以来看看。

    1、排序思路

    (1)从字符输入流中读取文本,缓冲各个字符,从而实现字符、数组和行的高效读取

    (2)询问用户需要多少位数的数组

    (3)转换为数字类型

    (4)将用户输入数字存入数组

    (5)把数组按排序需求并打印出来

    2、实例

    public static void main(String[] args) {

    // TODO Auto-generated method stub

    try {

    //数组a()的数字个数,由用户输入决定

    InputStreamReader isr=new InputStreamReader(System.in);

    //从字符输入流中读取文本,缓冲各个字符,从而实现字符、数组和行的高效读取

    BufferedReader bfr=new BufferedReader(isr);

    //询问用户需要多少位数的数组

    System.out.println("请输入需要多少位数的数组:\n");

    String a1=bfr.readLine();

    //将a1转换为数字类型

    int i=Integer.parseInt(a1);

    //提示用户输入数组数据

    System.out.println("请向数组中存入"+i+"个数据:\n");

    //将用户输入数字存入数组

    Integer[] a=new Integer[i];

    for(int j=0;ja[m+1]){

    //Integer temp=new Integer(0);

    int temp=0;

    temp=a[m];

    a[m]=a[m+1];

    a[m+1]=temp;

    }

    }

    }

    //输出排序后的数组

    System.out.println("排序后\n");

    for(int t=0;t<=i;t++){

    System.out.println(a[t]);

    }

    } catch (Exception e) {

    // TODO: handle exception

    e.printStackTrace();

    }

    }

    }

    实例扩展:

    键盘录入5个学生信息(姓名,语文成绩,数学成绩,英语成绩),按照总分从高到低存入文本文件。

    代码:

    public class TreeSetDemo {

    public static void main(String[] args) throws IOException{

    //创建TreeSet对象,用接口匿名内部类的方式实现Comparator接口

    TreeSetts=new TreeSet(new Comparator() {

    //重写Comparator接口中的compare()方法

    @Override

    public int compare(Student s1,Student s2) {

    //主要排序条件:总成绩,按从高到低输出

    int num1=s2.sum(s2)-s1.sum(s1);

    //次要排序条件,当总成绩相同时按学生姓名内容比较

    int num2=(num1==0)?s2.getName().length()-s1.getName().length():num1;

    return num2;

    }

    });

    //键盘录入学生信息

    System.out.println("请输入学生信息:");

    for(int x=1;x<6;x++) {

    Scanner sc=new Scanner(System.in);

    System.out.print("请输入第"+x+"名学生的姓名:");

    String name=sc.nextLine();

    System.out.print("请输入第"+x+"名学生的语文成绩:");

    int chineseScore=sc.nextInt();

    System.out.print("请输入第"+x+"名学生的数学成绩:");

    int mathScore=sc.nextInt();

    System.out.print("请输入第"+x+"名学生的英语成绩:");

    int englishScore=sc.nextInt();

    //将录入的学生信息封装到学生对象里

    Student s=new Student();

    s.setName(name);

    s.setChineseScore(chineseScore);

    s.setMathScore(mathScore);

    s.setEnglishScore(englishScore);

    //把学生对象添加到集合中

    ts.add(s);

    }

    //创建字符缓冲输出流对象

    BufferedWriter bw=new BufferedWriter(new FileWriter("18-1.txt"));

    //遍历

    for(Student s:ts) {

    //利用StringBuffer中的追加功能,将需要输出的信息集合在一起

    StringBuffer sb=new StringBuffer();

    sb.append(s.getName()).append(",").append(s.getChineseScore()).append(",").append(s.getMathScore())

    .append(",").append(s.getEnglishScore()).append(",").append(s.sum(s));

    //将信息写入文本文件中

    bw.write(sb.toString());

    //换行

    bw.newLine();

    //刷新流

    bw.flush();

    }

    //关闭流,释放资源

    bw.close();

    }

    }

    展开全文
  • php class=’pingjiaF’ frameborder=’0′ src=’https://www.jb51.net’ scrolling=’no’> 对数组排序 usort() 函数使用用户自定义的函数对数组排序。 */ function cmp($a, $b) //用户自定义回调函数 { if...
  • php对数组排序函数

    2019-01-16 14:56:50
    sort() - 以升序对数组排序 rsort() - 以降序对数组排序 asort() - 根据值,以升序对关联数组进行排序 ksort() - 根据键,以升序对关联数组进行排序 arsort() - 根据值,以降序对关联数组进行排序 krsort() - ...

    sort() - 以升序对数组排序

    rsort() - 以降序对数组排序

    asort() - 根据值,以升序对关联数组进行排序

    ksort() - 根据键,以升序对关联数组进行排序

    arsort() - 根据值,以降序对关联数组进行排序

    krsort() - 根据键,以降序对关联数组进行排序

    array_multisort() - 对多个数组或多维数组进行排序

    natcasesort()  - 用“自然排序”算法对数组进行不区分大小写字母的排序

    natsort()  - 用“自然排序”算法对数组排序

    uasort() -  使用用户自定义的比较函数对数组中的键值进行排序

    uksort()  - 使用用户自定义的比较函数对数组中的键名进行排序

    usort() -  使用用户自定义的比较函数对数组进行排序。

    展开全文
  • 用选择排序法对数组排序,选择排序用函数对立起来。
  • php不用内置函数对数组排序,可能是降序或者升序
  • /*冒泡排序法对数组排序: *依次比较相邻的元素,如果不符合所需顺序,则交换。运行结果如下 *排序前的数组为[23, 1, 67, 34, 90, 34, 100, 678] *排序后的数组为[1, 23, 34, 67, 34, 90, 100, 678] * */ public...
    import java.util.Arrays;
    /*冒泡排序法对数组排序:
     *依次比较相邻的元素,如果不符合所需顺序,则交换。运行结果如下
     *排序前的数组为[23, 1, 67, 34, 90, 34, 100, 678]
     *排序后的数组为[1, 23, 34, 67, 34, 90, 100, 678]
     * */
    
    public class arraysSort_v1 {
    	public static void main(String[] args){
    		int [] a = {23,1,67,34,90,34,100,678};
    		System.out.println("排序前的数组为" + Arrays.toString(a));
    		int b = 0;
    		for(int i=0;i<a.length-1;i++) {
    			if(a[i]>a[i+1]) {
    				b = a[i];
    				a[i] = a[i+1];
    				a[i+1] = b;
    			}
    		}
    		System.out.println("排序后的数组为" + Arrays.toString(a));
    		
    		}
    
    }
    展开全文
  • Java Arrays类对数组排序
  • php对数组排序代码

    2014-02-24 06:59:00
    php对数组排序代码 php对数组排序,介绍了和php,有关的知识、技巧、经验,和一些php... usort()函数使用用户自定义的函数对数组排序。 */ functioncmp($a,$b)//用户自定义回调函数 { if($a==$...
  • class='pingjiaF' frameborder='0' ...对数组排序usort() 函数使用用户自定义的函数对数组排序。*/function cmp($a, $b) //用户自定义回调函数{if($a==$b) //如果两个参数相等{return 0; //返回0}return($a>$b)?-...
  • C实现的两种二分查找。 先用快速排序对数组排序,再二分查找。
  • java中使用Lambda对数组排序 这里使用ArrayList数组对Person对象进行排序。 我们先创建一个Person对象昂: package Lambda2; public class Person { private String name;//姓名 private int age;//年龄 @...
  • 本文实例讲述了java对数组进行排序的方法。分享给大家供大家参考。具体如下:public class Test1 {public static void showArray(int[] array) {for (int n = 0; n < array.length; n++) {System.out.print(array...
  • 使用sort函数对数组排序 按照升序将数组的数字排序: /******************************************************** @File sort function. @Description sort from small to large. @Author Eric Wang @Date: ...
  • Java使用Arrays类对数组排序 Arrays类中的sort()方法是从小到大排序数组,属于快速排序。 函数原型为: static void sort(int[] a, int fromIndex, int toIndex) 后两个参数为数组需要排序的开始位置和结束位置,可...
  • class='pingjiaF' frameborder='0' ...对数组排序usort() 函数使用用户自定义的函数对数组排序。*/function cmp($a, $b) //用户自定义回调函数{if($a==$b) //如果两个参数相等{return 0; //返回0}return($a>$b)?-...
  • php对数组排序

    2011-05-10 17:22:39
    对数组排序usort() 函数使用用户自定义的函数对数组排序。*/ function cmp($a, $b) //用户自定义回调函数{ if($a==$b) //如果两个参数相等 { return 0; //返回0 } return($a&gt;$b)?-1:1; //如果第1个...
  • 高分悬赏问题!Java语言用快速排序法(中间值作为排序哨兵)对数组排序代码怎么写 注意,中间值作为排序哨兵,不是第一个数,网上的不符合要求
  • usort() 函数使用用户自定义的函数对数组排序。 */ function cmp($a, $b) //用户自定义回调函数 { if($a==$b) //如果两个参数相等 { return 0; //返回0 } return($a>$b)?-1:1; //如果第1个参数大于第2个返回1,否则-
  • sort对数组排序

    2019-10-01 15:35:09
    如果要按照自己的意愿对数组进行升序或者降序排序,就需要对sort传入一个比较函数,该方法有两个参数a,b进行比较,并且接收由两个参数比较所得的结果 a>b 返回值为1 a<b 返回值-1 a=b 返回值为0 。了解了这些...
  • php不用内置函数对数组排序,可能是降序或者升序一朋友找工作遇到的试题,备注一下。极有可能今后我也会遇到的。问题:php不用内置函数对数组排序,可能是降序或者升序第一种方法:传说中的冒泡法function arraysort...
  • 对数组排序后,获取排序前元素索引 写在前面 最近基本都在弄实验室的事情,自己设计了两个算法,有大把的数据需要跑,大把的模型需要渲染。。。 在设计的算法中,有一个需求是,对一个double数组OriArray进行排序...
  • 这篇文章主要为大家详细介绍了php不用内置函数对数组排序的两个算法示例,具有一定的参考价值,可以用来参考一下。感兴趣的小伙伴,下面一起跟随512笔记的小编小韵来看看吧!一朋友找工作遇到的试题,备注一下。极有...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 7,828
精华内容 3,131
关键字:

对数组排序