当前位置:首页 » 操作系统 » list的sort排序算法

list的sort排序算法

发布时间: 2022-09-28 01:53:18

1. 在java中如何给数据进行大小排序

privateList<Integer>mList=newArrayList<>();

mList.add(1);
mList.add(5);
mList.add(7);
mList.add(9);
mList.add(8);
mList.add(3);

//排序前
Log.d(TAG,"onCreate:"+mList.toString());

Collections.sort(mList);

//排序后
Log.d(TAG,"onCreate:"+mList.toString());

打印的Log:
[1,5,7,9,8,3]
[1,3,5,7,8,9]

2. python中两个list该如何排序

这个其实很简单,先给你提供下思路,别使用自带 sort() 排序。自己写个排序算法,根据list1分数排序,在排序的过程中同时将list2姓名根据list1的排序算法走一遍,即可得到对等的序列。

#-*-coding:utf-8-*-
name=['a','b','c','d','e','f']
score=[96,97,92,93,99,91]

definsert_sort2(num_list,name):
"""
插入排序,稍微修改之后
"""
foriinrange(len(num_list)-1):
forjinrange(i+1,len(num_list)):
ifnum_list[i]>num_list[j]:
num_list[i],num_list[j]=num_list[j],num_list[i]
name[i],name[j]=name[j],name[i]
returnnum_list,name

printinsert_sort2(score,name)

definsert_sort(num_list):
"""
插入排序,正常的
"""
foriinrange(len(num_list)-1):
forjinrange(i+1,len(num_list)):
ifnum_list[i]>num_list[j]:
num_list[i],num_list[j]=num_list[j],num_list[i]
returnnum_list

#输出:([91,92,93,96,97,99],['f','c','d','a','b','e'])
#使用list1,list2=insert_sort(list1,list2)这样就可以得到了

3. java 实现ArrayList的sort

java中可以使用Sort方法,可以对集合中的元素进行排序。Sort有三种重载方法,声明代码如下所示。

public void Sort();
//使用集合元素的比较方式进行排序

public void Sort(IComparer comparer);
//使用自定义比较器进行排序

public void Sort(int index, int count, IComparer comparer)
//使用自定义比较器进行指定范围的排序

注意:为使用Sort方法进行排序,集合中的所有元素必须实现IComparable接口,否则,将抛出异常。

这里介绍使用第一种方法进行简单的排序实例

using System;
using System.Collections;
class Program{
static void Main(string[] args)
{
ArrayList al = new ArrayList();
al.AddRange(new string[8] { "Array1", "Array2", "Array3", "Array5", "Array4", "Array8", "Array7", "Array6" });
al.Sort();
foreach (string s in al)
{
Console.WriteLine(s);
}
Console.ReadLine();
}
}

4. C语言选择排序法

这是选择排序。先用a[0]与a[1]比较,当a[0]<a[1]时并不交换,而用k记下来现在a[0]最小……这样一趟比较完后a[k]就是整个数组中最小的元素,把它与a[0]交换;第二趟,从a[1]开始重复前面的操作,那么最后a[1]就是剩下的n-1个元素中最小的……看a[0]、a[1]已经由小到大排好了,当做完n-1趟时不就把整个数组都排好了吗?注意:t=array[k];array[k]=array[i];array[i]=t;不是for(j=i+1;j<n;j++)的循环体,要等它循环完了后才执行一次。

5. java List<T>排序

一、首先你的SpecialArticle类要实现 java.util.Comparator接口,在public int compare(Object o1, Object o2) 方法中对比两个SpecialArticle的sort属性的大小,第一个的大就返回1,第二个的大就返回-1,一样大就返回0;二、然后使用java.util.Arrays的sort方法来替List集合排序:java.util.Arrays.sort(sa);。

6. Java List提供的默认排序方法sort()用的是什么排序策略

你好,很高兴回答你的问题。
List只是个接口,sort方法具体是怎么排序的是在具体的实现类中的。
不同的实现类排序实现是不一样的。有的同一个实现类在java的不同版本中排序的实现也可能是有差别的。
如果有帮助到你,请点击采纳。

7. list中的数据由大到小排序,有什么好的算法

1、自定义类型里面重载“<”运算符,里面不是小于为真,而是大于为真,然后l1.sort( );
2、自定义一个二元函数对象,也是左操作数大,右操作数小为真,作为参数传递进sort去
如果是整数的数据类型,就可以这样l1.sort(less<int>);

8. C语言中的选择排序法是什么

选择排序(Selection sort)是一种简单直观的排序算法。工作原理是每一次从待排序的数据元素中选出最小(或最大)的一个元素,存放在序列的起始位置,直到全部待排序的数据元素排完。

以下是一个实现选择排序的例子:

#defineSWAP(x,y,t)((t)=(x),(x)=(y),(y)=(t))
//将list中的n个数据,通过选择排序算法排序。
voidselete_sort(intlist[],intn)
{
inti,j,min,temp;
for(i=0;i<n-1;i++){
min=i;
for(j=i+1;j<n;j++)//找出最小元素的下标。
if(list[j]<list[min])
min=j;
SWAP(list[i],list[min],temp);//交换最小元素到当前起始位置。
}
}

9. C++里关于list的排序算法

1楼的说法是正确的。
不过,有更方便、更高效的实现方法。
#include <iostream>
#include <list>
#include <string>
using namespace std;

struct Test
{
string Name;
int order;
};

bool comp(const Test &lhs, const Test &rhs)
{
return lhs.order < rhs.order;
}

int main(int argc, char *argv[])
{
list<Test> testList;
Test te;
te.Name = "AAA";
te.order = 1;
testList.push_back(te);
te.Name = "BBB";
te.order = 3;
testList.push_back(te);
te.Name = "CCC";
te.order = 2;
testList.push_back(te);
te.Name = "DDD";
te.order = 5;
testList.push_back(te);
te.Name = "EEE";
te.order = 4;
testList.push_back(te);

testList.sort(comp);//************

for(list<Test>::const_iterator citer = testList.begin(); citer != testList.end(); ++citer)
{
cout << citer->Name << "\t" << citer->order << "\n";
}
cout << endl;

system("pause");
return 0;
}
一句话实现功能, 且效率更高。

10. 如何实现对ArrayList排序 sort

使用Collections.sort()传入ArrayList,会采用默认的方式进行排序(字典序)
使用Collections.sort()传入ArrayList和自己实现Commparator接口的类的对象,实现自定义排序
使用List.sort()传入自己实现Commparator接口的类的对象,实现自定义排序
Comparator返回值在jdk1.7、jdk1.8里必须是一对相反数,如1和-1,不能是1和0.因为1.7的排序算法采用timsort,对返回值有严格要求

热点内容
开拓者交易云服务器配置 发布:2025-05-17 19:19:47 浏览:11
编程2e8 发布:2025-05-17 19:19:04 浏览:419
赞赞快手脚本 发布:2025-05-17 19:14:33 浏览:229
佳能相机存储卡错误 发布:2025-05-17 19:00:59 浏览:889
云访问安全 发布:2025-05-17 18:36:31 浏览:625
算法设计与分析课件 发布:2025-05-17 18:21:11 浏览:766
安卓禁止软件安装怎么解除 发布:2025-05-17 18:16:52 浏览:219
绝地求生极客电脑怎么配置 发布:2025-05-17 18:16:50 浏览:51
显卡编程语言 发布:2025-05-17 18:11:46 浏览:919
编程用什么轴机械键盘 发布:2025-05-17 18:10:35 浏览:960