คำถามติดแท็ก sorting

การเรียงลำดับเป็นกระบวนการของการใช้คำสั่งบางอย่างกับการรวบรวมรายการ

10
วิธีการจัดเรียงอาร์เรย์ที่เชื่อมโยงตามค่าใน Javascript
ฉันมีอาร์เรย์ที่เชื่อมโยง: array["sub2"] = 1; array["sub0"] = -1; array["sub1"] = 0; array["sub3"] = 1; array["sub4"] = 0; วิธีใดเป็นวิธีที่สง่างามที่สุดในการเรียงลำดับ (จากมากไปหาน้อย) ตามค่าโดยที่ผลลัพธ์จะเป็นอาร์เรย์ที่มีดัชนีตามลำดับนี้: sub2, sub3, sub1, sub4, sub0

8
เรียงลำดับตัวเลขจากมากไปหาน้อย แต่ด้วย `0 'ตอนเริ่มต้น
ฉันมีความท้าทายใน JavaScript ที่ฉันพยายามคิดอยู่พักหนึ่งแล้ว พิจารณาอาร์เรย์นี้: let arr = [0, 1, 0, 2, 0, 3, 0, 4, 0, 5]; ฉันต้องแสดงผลลัพธ์นี้: arr = [0, 0, 0, 0, 0, 5, 4, 3, 2, 1] ฉันกำลังตามสายของตรรกะนี้เพื่อวางตำแหน่งศูนย์ด้านหน้าปรับค่าดัชนี: arr.sort((x, y) => { if (x !== 0) { return 1; } if (x === 0) { return -1; …

3
การเรียงลำดับเวกเตอร์ตามลำดับจากมากไปน้อยภายในสองช่วง
ว่าฉันมีเวกเตอร์จำนวนเต็ม: std::vector<int> indices; for (int i=0; i<15; i++) indices.push_back(i); จากนั้นฉันเรียงตามลำดับจากมากไปน้อย: sort(indices.begin(), indices.end(), [](int first, int second) -> bool{return indices[first] > indices[second];}) for (int i=0; i<15; i++) printf("%i\n", indices[i]); สิ่งนี้สร้างสิ่งต่อไปนี้: 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 ตอนนี้ฉันต้องการให้หมายเลข 3, 4, 5 และ 6 …

3
วิธีค้นหาจำนวนการเคลื่อนไหวขั้นต่ำเพื่อย้ายรายการไปยังตำแหน่งในกองซ้อน?
เมื่อกำหนดชุดของสแต็ค NXP โดยที่ N เป็นจำนวนสแต็คและ P เป็นความสามารถของสแต็คฉันจะคำนวณจำนวนสว็อปขั้นต่ำที่จำเป็นในการย้ายจากโหนดบางจุดในตำแหน่ง A ไปยังตำแหน่ง A ได้อย่างไร ฉันออกแบบเกมและเป้าหมายสุดท้ายคือเรียงลำดับสแต็คทั้งหมดเพื่อให้มีสีเดียวกัน # Let "-" represent blank spaces, and assume the stacks are stacks = [ ['R', 'R', 'R', 'R'], ['Y', 'Y', 'Y', 'Y'], ['G', 'G', 'G', 'G'], ['-', '-', '-', 'B'], ['-', 'B', 'B', 'B'] ] ถ้าผมต้องการที่จะใส่ "B" ที่ดังกล่าวว่าstacks[1][1] …

3
Custom Sorting ในแบบที่ A มาก่อน a และ B มาก่อน b
ฉันมีรายการสีดังนี้: ชมพู, ฟ้า, แดง, น้ำเงิน, เทา, เขียว, ม่วง, ดำ ... ฯลฯ List<String> listOfColors = Arrays.asList("Pink", "Blue", "Red", "blue", "Grey", "green", "purple", "black"); มีการดำเนินการระดับกลางบางอย่างเช่นการกรองสีผลไม้ตอนนี้ฉันเหลือผลลัพธ์การกรองที่ฉันต้องการเรียงลำดับ: สีน้ำเงิน, ดำ, น้ำเงิน, เทา, เขียว, ชมพู, ม่วง, แดง ฉันเหนื่อย : List<String> collect = listOfColors.stream().sorted(String::compareToIgnoreCase) .collect(Collectors.toList()); มันไม่ทำงานตามที่คาดไว้ ผลลัพธ์มีดังต่อไปนี้: ดำ, น้ำเงิน, น้ำเงิน, เขียว, เทา, ชมพู, ม่วง, แดง ฉันต้องการสิ่งต่อไปนี้: สีน้ำเงิน, …

2
จัดเรียงอัลกอริทึมสำหรับ Excel / SharedStrings
ใน Excel พวกเขา 'บีบอัด' สตริงการแมปเป็นตัวเลข (แม้ว่าฉันไม่แน่ใจว่าคำว่าการบีบอัดถูกต้องในกรณีนี้) นี่คือตัวอย่างที่แสดงด้านล่าง: ในขณะที่สิ่งนี้ช่วยลดขนาดไฟล์และรอยเท้าหน่วยความจำโดยรวมแล้ว Excel จะเรียงลำดับอย่างไรในเขตข้อมูลสตริง ทุกสตริงเดียวจะต้องผ่านการค้นหาการแมป: และถ้าเป็นเช่นนั้นจะไม่เพิ่มค่าใช้จ่าย / ชะลอการทำเรียงลำดับในเขตข้อมูลสตริง (ถ้ามีค่า 1M, การค้นหาคีย์ 1M จะไม่ จิ๊บจ๊อย) คำถามสองข้อเกี่ยวกับเรื่องนี้: มีการใช้สตริงที่ใช้ร่วมกันภายในแอปพลิเคชัน Excel หรือเมื่อบันทึกข้อมูลเท่านั้น อะไรจะเป็นตัวอย่างอัลกอริธึมที่จะเรียงลำดับบนสนาม ภาษาใดก็ได้ (c, c #, c ++, python)

3
วิธีการจัดเรียงอักขระอย่างมีประสิทธิภาพในสตริงใน R?
ฉันจะจัดเรียงอักขระของแต่ละสตริงอย่างมีประสิทธิภาพได้อย่างไรในเวกเตอร์ ตัวอย่างเช่นกำหนดเวกเตอร์ของสตริง: set.seed(1) strings <- c(do.call(paste0, replicate(4, sample(LETTERS, 10000, TRUE), FALSE)), do.call(paste0, replicate(3, sample(LETTERS, 10000, TRUE), FALSE)), do.call(paste0, replicate(2, sample(LETTERS, 10000, TRUE), FALSE))) ฉันได้เขียนฟังก์ชันที่จะแยกแต่ละสตริงเป็นเวกเตอร์เรียงลำดับเวกเตอร์แล้วยุบผลลัพธ์: sort_cat <- function(strings){ tmp <- strsplit(strings, split="") tmp <- lapply(tmp, sort) tmp <- lapply(tmp, paste0, collapse = "") tmp <- unlist(tmp) return(tmp) } sorted_strings <- sort_cat(strings) …
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.