sorting 相关问题

排序是将一些订单应用于项目集合的过程。

Bogo排序在某些场景下能优于冒泡排序吗?

在我最近对冒泡排序和 Bogo 排序算法的比较中,特别分析了它们在对长度为 9 的数组进行排序时的性能,冒泡排序始终表现出更快的排序时间...

回答 1 投票 0

使用输入参数是表示文本行的字符串列表的方法来计算单词

我必须编写 String 方法的实现,其中它的输入参数是表示文本行的字符串列表 - 计算文本中的单词数并返回统计信息。 我怎样才能分割圣...

回答 1 投票 0

在不知道键/值的情况下对字典列表进行排序

我的代码(F1)中的函数返回字典列表。我需要对这个字典列表进行排序并将其打印出来。我们对列表进行升序或降序排序并不重要,只要 w...

回答 2 投票 0

如何为字符串列表创建自定义排序

我正在努力创建一些可视化效果,并且我已经有了一些与 Plotly 配合使用的不错的可视化效果,从技术上讲,我的绘图正在发挥作用。但是,我有一个变量用作一对夫妇的轴......

回答 1 投票 0

PDL / 向量和矩阵代数 / 对称矩阵的特征值排序

我正在尝试使用伟大的 perl PDL 的伟大 eigens_sym 函数来计算对称矩阵的特征向量;代码片段 使用 PDL ; 打印 ” A: ”; 打印$

回答 1 投票 0

perl PDL / 向量和矩阵代数 / 对称矩阵的特征值排序

我正在尝试使用伟大的 perl PDL 的伟大 eigens_sym 函数来计算对称矩阵的特征向量;代码片段 使用 PDL ; 打印 ” A: ”; 打印$

回答 1 投票 0

使用 Numba 中断在线性时间内对非负整数进行排序

我正在尝试在线性时间内对非负整数数组/列表进行排序。我们也只保留独特的元素。这是一个例子, 排序:[7, 7, 0, 3, 2, 1, 9, 1] 7:10000000 7:10000000 0:1000...

回答 1 投票 0

如何收集随机数字序列的最大不重叠升序/降序前缀

令 S = [x1, x2, ..., xn] 为不同数字的随机序列。我们可以将 S 的运行定义为: 序列 [x1, x2, ..., xi],对于 1 ≤ i ≤ n,使得 x1 < x2 < ... < xi, and i = n or xi...

回答 1 投票 0

根据自定义比较器对 emacs dired 缓冲区进行排序

dired 似乎没有提供根据任意比较器函数对文件/文件夹进行排序的接口。 (默认情况下,它只允许按名称和日期排序)。 我已经挖了...

回答 3 投票 0

如何使用 MatSort 跳过排序中的最后四行?

我希望当我根据列标题对表格进行排序时,我单击最后四行未排序。 表格图像 我希望当我根据列标题对表格进行排序时,我单击最后四行未排序。 <table mat-table [dataSource]="dataSourceMD" matSort (matSortChange)="getRowMaximoTable('dataSourceMD', 'indexMaximoMD')" matTableExporter #exporter="matTableExporter" #sortMD="matSort" class="tr_table"> <ng-container *ngFor="let disCol of displayedColumnsMD; let colIndex = index" matColumnDef="{{disCol}}" [sticky]="isIn(disCol)"> <th mat-header-cell *matHeaderCellDef mat-sort-header> <div [innerHTML]="displayedColumnsNamesMD[colIndex]"></div> </th> <td mat-cell *matCellDef="let element" [style.background-color]="element[disCol+'Color']" [style.color]="element[disCol+'Texto']"> <div *ngIf="element[disCol]" [innerHTML]="element[disCol]"></div> <div *ngIf="!element[disCol] && !isIn(disCol)" [innerHTML]="'-'"></div> </td> </ng-container> <ng-container *ngFor="let filCol of displayedFilterColumnMD; let colIndexF = index" matColumnDef="{{filCol}}" [sticky]="colIndexF<3"> <th mat-header-cell *matHeaderCellDef [style.text-align]="center" [attr.colspan]="1"> <mat-form-field class="columnas" floatLabel='never'> <input matInput placeholder="Filtro" type="text" [(ngModel)]='filterTableMD[displayedColumnsMD[colIndexF]]' name="displayedColumnsMD[colIndexF]" (keyup)="hanlerOnChangeFilter($event, 'MD',displayedColumnsMD[colIndexF])"> <button mat-button *ngIf="filterTableMD[displayedColumnsMD[colIndexF]]" (click)="handlerClearFilterField('MD',displayedColumnsMD[colIndexF])" matSuffix mat-icon-button aria-label="Clear"> <mat-icon class="material-icons-outlined">close</mat-icon> </button> </mat-form-field> </th> </ng-container> <tr mat-header-row *matHeaderRowDef="displayedColumnsMD; sticky: true"></tr> <tr mat-header-row *matHeaderRowDef="displayedFilterColumnMD"></tr> <tr mat-row [ngClass]="{ 'maximo-row': i == indexMaximoMD }" *matRowDef="let row; columns: displayedColumnsMD; let i = index"></tr> </table> 我希望最后四行保持固定,我该怎么做?该表是一个 Angular Material 组件,并使用 matSort 属性对 dataSource 数组中的表数据进行排序。 将对象数组拆分为两个(拼接)并对第一个执行排序。 const toBeSorted = [...data]; let unsorted: any[] = []; if(toBeSorted.length >= 4) { unsorted = toBeSorted.splice(-4); } const sorted = toBeSorted.sort((a, b) => { //sort logic }); this.sortedData = [...toBeSorted, ...unsorted]; StackBlitz 链接:https://stackblitz.com/edit/cnc-mat-table-custom-sort

回答 1 投票 0

通过文件名日期对日期进行排序

我有一个包含 *.txt 文件的文件夹,其中包含特定格式(c 是字符,d 是数字,yyyy-mm-dd-hh-mm-ss 是日期格式) cccccd_ddd_cc_ccc_c_dd-ddd_yyyy-mm-dd-hh-mm-ss.txt 或者

回答 2 投票 0

如何在Python中对列表进行排序?

我有一个Python数字列表,我正在尝试按升序对它们进行排序。这是我的代码: 数字 = [5, 2, 1, 8, 4] 我尝试使用 sort() 函数,如下所示:sort(numbers),但我得到一个

回答 1 投票 0

根据行之间的父子关系对二维数组进行排序(不仅仅是对列值进行 ASC)

我有一个数组,其中包含来自嵌套集模型中的 MySQL 表的数据,我想对其进行排序,不仅按字母顺序排序,而且还按父节点后面的子节点排序。 示例 - 数组为...

回答 4 投票 0

如何使用多个排序参数对结构进行排序?

我有一个成员数组/切片: 类型成员结构体{ 整数 ID 姓氏字符串 名字字符串 } var 成员 []Member 我的问题是如何按姓氏然后按名字对它们进行排序。

回答 13 投票 0

为什么 Rust 的默认排序功能比我的小数组选择排序稍慢?

我对 Rust 还很陌生,所以我可能会错过一些简单的东西。我正在使用 Rust 1.70.0-nightly。这是必要的代码: fn Selection_sort(original_vec: &mut Vec) -> Vec 我对 Rust 还很陌生,所以我可能会错过一些简单的东西。我正在使用 Rust 1.70.0-nightly。这是必要的代码: fn selection_sort(original_vec: &mut Vec<i32>) -> Vec<i32> { for i in 0..original_vec.len()-1 { let mut smallest: usize = i; for j in i+1..original_vec.len() { if original_vec[j] < original_vec[smallest] { smallest = j; } } if smallest != i { original_vec.swap(i, smallest); } }; original_vec.to_vec() } // helper function for testing (uses builtin sort function) fn rust_sort<A, T>(mut array: A) -> A where A: AsMut<[T]>, T: Ord, { let slice = array.as_mut(); slice.sort(); array } const TEST_VECS: [[i32; 10]; 6] = [ [1, 3, 2, 9, 6, 7, 4, 10, 8, 5], [1, 2, 7, 2, 9, 9, 7, 10, 2, 1], [0, 4, 1, 3, 9, 12, 3, 0, 13, 8], [1, 2, 3, 4, 5, 6, 7, 8, 9, 10], [-1, -5, -10, 1, 10, 2, -123, -34, 0, -32], [i32::MAX, -32984, i32::MIN, 31648, 5349857, -30954, -2343285, 0, 1, i32::MIN], ]; #[bench] fn bench_rust_sort(b: &mut Bencher) { b.iter(|| { for i in TEST_VECS { (&mut i.to_vec()).sort() } }) } #[bench] fn bench_selection_sort(b: &mut Bencher) { b.iter(|| { for i in TEST_VECS { selection_sort(&mut i.to_vec()); } }) } 当我跑步时cargo bench: $ cargo bench Compiling rust-algs v0.1.0 (/home/josia/projects/rust-algs) Finished bench [optimized] target(s) in 0.25s Running unittests src/lib.rs (target/release/deps/rustalgs-ae260c07593c3aad) running 3 tests test test_selection_sort ... ignored test bench_rust_sort ... bench: 106 ns/iter (+/- 8) test bench_selection_sort ... bench: 102 ns/iter (+/- 9) test result: ok. 0 passed; 0 failed; 1 ignored; 2 measured; 0 filtered out; finished in 7.65s 我尝试了很多次,甚至重命名了测试函数来改变测试的顺序。不管怎样,我的自定义选择排序功能仍然执行得更快。我猜问题在于我必须调用一个函数来包装主要的默认排序函数。调用实际函数是行不通的,因为即使我将基准函数中的 TEST_VECS 常量克隆为向量,排序函数也会继续对其进行排序,这不会让其他基准迭代对其进行排序。如果我在基准闭包中克隆常量,它将极大地影响基准迭代的性能,并且我将无法仅对我尝试运行的代码进行基准测试。 我对这些函数进行基准测试的方式是否有问题,或者我的自定义函数是否更快? 您正在转换类型和应对记忆。 将数组转换为向量需要时间。 如果您来自其他语言,您应该知道该常量无法修改。 所以你必须在基准代码中定义测试集。 b:&mut test::Bencher将用作长凳。 b.iter之外的代码不会被计入bench。 所以你必须像这样准备你的代码: #![feature(test)] #![allow(dead_code)] extern crate test; fn selection_sort(original_vec: &mut Vec<i32>) -> Vec<i32> { for i in 0..original_vec.len()-1 { let mut smallest: usize = i; for j in i+1..original_vec.len() { if original_vec[j] < original_vec[smallest] { smallest = j; } } if smallest != i { original_vec.swap(i, smallest); } }; original_vec.to_vec() } const TEST_VECS: [[i32; 10]; 6] = [ [1, 3, 2, 9, 6, 7, 4, 10, 8, 5], [1, 2, 7, 2, 9, 9, 7, 10, 2, 1], [0, 4, 1, 3, 9, 12, 3, 0, 13, 8], [1, 2, 3, 4, 5, 6, 7, 8, 9, 10], [-1, -5, -10, 1, 10, 2, -123, -34, 0, -32], [i32::MAX, -32984, i32::MIN, 31648, 5349857, -30954, -2343285, 0, 1, i32::MIN], ]; #[bench] fn bench_rust_sort(b: &mut test::Bencher) { let mut test_vecs: Vec<Vec<i32>> = TEST_VECS.iter().map(|v| v.to_vec()).collect(); b.iter(|| { for i in test_vecs.iter_mut() { i.sort() } }) } #[bench] fn bench_selection_sort(b: &mut test::Bencher) { let mut test_vecs: Vec<Vec<i32>> = TEST_VECS.iter().map(|v| v.to_vec()).collect(); b.iter(|| { for i in test_vecs.iter_mut() { selection_sort(i); } }) } fn main(){ } 结果如下: ➜ bench git:(master) ✗ cargo bench Finished bench [optimized] target(s) in 0.00s Running unittests src/main.rs (target/release/deps/bench-5bf7ec1e7001cf33) running 2 tests test bench_rust_sort ... bench: 43 ns/iter (+/- 0) test bench_selection_sort ... bench: 215 ns/iter (+/- 14) test result: ok. 0 passed; 0 failed; 0 ignored; 2 measured; 0 filtered out; finished in 6.40s 我的笔记本电脑运行这个工作台: MacBook Pro 2020 i5,4 核 2.0Ghz。

回答 1 投票 0

为什么 Rust 的默认排序功能比我的选择排序慢?

标题。我对 Rust 很陌生,所以我可能会错过一些简单的东西。我正在使用 Rust 1.70.0-nightly。这是必要的代码: fn Selection_sort(original_vec: &mut Vec) -> Vec&...

回答 1 投票 0

VBA:如何根据字体颜色对单元格数据进行排序

我的单元格中有一个数据字符串: 我想根据字体颜色对字符串进行排序,例如 可以用VBA代码编写。谢谢 范围(“S37”).选择 ActiveWorkbook.Worksheets(&q...

回答 2 投票 0

Powershell 字符串使用基于表达式的“列”进行排序

假设我有一个像这样的字符串集合,没有特定的顺序: “文件名(文本)(注释)” “文件名(Word)(1)” “文件名(Word)(1)(坏)” “文件名(文本)(2)” “文件名(图片)” ”

回答 2 投票 0

连接两个 Pandas DataFrame 同时保持索引顺序

我正在尝试连接两个 DataFrame,生成的 DataFrame 按原始两个 DataFrame 的顺序保留索引。例如: df = pd.DataFrame({'房屋':[10,20,30,40,50], '城市':[3,4,7...

回答 2 投票 0

在 Razor 视图上的 .Include 上排序不起作用

我之前做过基本的排序,没有遇到问题,但是这个让我困惑于我做错了什么。它返回的只是一个空白页。 Details.cs(显示排序代码) 使用 RabiesClinics.Da...

回答 2 投票 0

© www.soinside.com 2019 - 2024. All rights reserved.