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

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

5
อะไรคือวิธีที่สั้นที่สุดในการจัดเรียงอาร์เรย์ของโครงสร้างตามชื่อฟิลด์ (ตามอำเภอใจ)
ฉันเพิ่งมีปัญหาที่ฉันมีอาร์เรย์ของโครงสร้างเช่น package main import "log" type Planet struct { Name string `json:"name"` Aphelion float64 `json:"aphelion"` // in million km Perihelion float64 `json:"perihelion"` // in million km Axis int64 `json:"Axis"` // in km Radius float64 `json:"radius"` } func main() { var mars = new(Planet) mars.Name = "Mars" mars.Aphelion = 249.2 mars.Perihelion …
130 sorting  go 



14
จัดเรียงพจนานุกรมตามคีย์
ฉันต้องการจัดเรียงพจนานุกรมใน Swift ฉันมีพจนานุกรมเช่น: "A" => Array[] "Z" => Array[] "D" => Array[] ฯลฯ อยากให้เป็นยังไง "A" => Array[] "D" => Array[] "Z" => Array[] เป็นต้น ฉันได้ลองวิธีแก้ปัญหามากมายใน SO แต่ไม่มีใครได้ผลสำหรับฉัน ฉันใช้ XCode6 Beta 5 และมีบางส่วนให้ข้อผิดพลาดของคอมไพเลอร์และโซลูชันบางอย่างให้ข้อยกเว้น ดังนั้นทุกคนที่สามารถโพสต์สำเนาการจัดเรียงพจนานุกรมที่ใช้งานได้

7
python มีรายการเรียงลำดับหรือไม่?
โดยฉันหมายถึงโครงสร้างที่มี: O (log n) ความซับซ้อนสำหรับx.push()การดำเนินการ O (log n) ความซับซ้อนในการค้นหาองค์ประกอบ O (n) ความซับซ้อนในการคำนวณlist(x)ซึ่งจะเรียงลำดับ ฉันยังมีคำถามที่เกี่ยวข้องเกี่ยวกับประสิทธิภาพของlist(...).insert(...)ซึ่งขณะนี้ที่นี่
128 python  list  sorting 

13
วิธีจัดเรียงรายการสตริงตามตัวเลข?
ฉันรู้ว่ามันฟังดูไม่สำคัญ แต่ฉันไม่รู้ว่าsort()ฟังก์ชันของ Python นั้นแปลก ฉันมีรายการ "ตัวเลข" ที่อยู่ในรูปแบบสตริงดังนั้นฉันจึงแปลงเป็น ints ก่อนแล้วจึงลองเรียงลำดับ list1=["1","10","3","22","23","4","2","200"] for item in list1: item=int(item) list1.sort() print list1 ให้ฉัน: ['1', '10', '2', '200', '22', '23', '3', '4'] สิ่งที่ฉันต้องการคือ ['1','2','3','4','10','22','23','200'] ฉันได้มองหาอัลกอริทึมบางส่วนที่เกี่ยวข้องกับการเรียงชุดตัวเลข แต่สิ่งที่ฉันพบทั้งหมดเกี่ยวข้องกับการเรียงลำดับชุดตัวเลข ฉันรู้ว่านี่อาจเป็นปัญหาง่ายๆ แต่ Google และหนังสือเรียนของฉันไม่ได้มีประโยชน์มากหรือน้อยไปกว่า.sort()ฟังก์ชันนี้
128 python  sorting 

12
การใช้เมธอด JavaScript Array.sort () ในการสับถูกต้องหรือไม่
ฉันกำลังช่วยใครบางคนด้วยโค้ด JavaScript ของเขาและสายตาของฉันก็ถูกจับโดยส่วนที่ดูเหมือนว่า: function randOrd(){ return (Math.round(Math.random())-0.5); } coords.sort(randOrd); alert(coords); สิ่งแรกของฉันคือ: เดี๋ยวก่อนนี่อาจใช้ไม่ได้! แต่แล้วฉันก็ได้ทำการทดลองและพบว่าอย่างน้อยมันก็ดูเหมือนจะให้ผลลัพธ์แบบสุ่ม จากนั้นฉันก็ค้นหาเว็บและเกือบที่ด้านบนพบบทความที่มีการคัดลอกโค้ดนี้มากที่สุด ดูเหมือนเว็บไซต์และผู้เขียนที่น่านับถือทีเดียว ... แต่ความรู้สึกในใจของฉันบอกฉันว่าสิ่งนี้ต้องผิด โดยเฉพาะอย่างยิ่งเมื่ออัลกอริทึมการเรียงลำดับไม่ได้ระบุไว้ตามมาตรฐาน ECMA ฉันคิดว่าการเรียงลำดับ algoritms ที่แตกต่างกันจะส่งผลให้เกิดการสับเปลี่ยนที่ไม่เหมือนกัน อัลกอริธึมการเรียงลำดับบางอย่างอาจวนซ้ำไม่สิ้นสุด ... แต่คุณคิดอย่างไร? และเป็นอีกคำถาม ... ตอนนี้ฉันจะไปวัดผลสุ่มของเทคนิคการสับไพ่นี้ได้อย่างไร? อัปเดต:ฉันทำการวัดผลและโพสต์ผลลัพธ์ด้านล่างเป็นหนึ่งในคำตอบ

15
การเรียงลำดับแบบไดนามิกภายใน SQL Stored Procedures
นี่เป็นปัญหาที่ฉันใช้เวลาหลายชั่วโมงในการค้นคว้าในอดีต สำหรับฉันแล้วดูเหมือนว่าจะเป็นสิ่งที่ควรได้รับการแก้ไขโดยโซลูชันRDBMS ที่ทันสมัยแต่ฉันยังไม่พบสิ่งใดที่ตอบสนองสิ่งที่ฉันเห็นว่าเป็นความต้องการทั่วไปอย่างไม่น่าเชื่อในเว็บหรือแอปพลิเคชัน Windows ที่มีฐานข้อมูลส่วนหลัง ฉันพูดถึงการเรียงลำดับแบบไดนามิก ในโลกแฟนตาซีของฉันมันควรจะเรียบง่ายเหมือนกับ: ORDER BY @sortCol1, @sortCol2 นี่คือตัวอย่างมาตรฐานที่กำหนดโดยผู้พัฒนา SQL มือใหม่และStored Procedureทั่วฟอรัมต่างๆบนอินเทอร์เน็ต "ทำไมถึงทำไม่ได้" พวกเขาถาม. ในที่สุดก็มีใครบางคนมาบรรยายเกี่ยวกับลักษณะการรวบรวมของขั้นตอนการจัดเก็บแผนการดำเนินการโดยทั่วไปและเหตุผลอื่น ๆ อีกมากมายว่าทำไมจึงไม่สามารถใส่พารามิเตอร์ลงในORDER BYประโยคได้โดยตรง ฉันรู้ว่าพวกคุณบางคนกำลังคิดอะไรอยู่แล้ว: "ให้ลูกค้าจัดการเรียงลำดับ" โดยปกติแล้วสิ่งนี้จะลดการทำงานออกจากฐานข้อมูลของคุณ ในกรณีของเราเซิร์ฟเวอร์ฐานข้อมูลของเราไม่ได้ทำลายเหงื่อ 99% ของเวลาและยังไม่ได้เป็นแบบมัลติคอร์หรือการปรับปรุงสถาปัตยกรรมระบบอื่น ๆ อีกมากมายที่เกิดขึ้นทุกๆ 6 เดือน ด้วยเหตุนี้เพียงอย่างเดียวการมีฐานข้อมูลของเราจัดการกับการเรียงลำดับจะไม่เป็นปัญหา นอกจากนี้ฐานข้อมูลเป็นอย่างมากเก่งในการจัดเรียง พวกเขาได้รับการปรับให้เหมาะสมและใช้เวลาหลายปีในการทำให้ถูกต้องภาษาที่ใช้ทำนั้นมีความยืดหยุ่นใช้งานง่ายและเรียบง่ายและเหนือสิ่งอื่นใดนักเขียน SQL มือใหม่รู้วิธีการทำและที่สำคัญยิ่งกว่านั้นพวกเขารู้วิธีแก้ไข ทำการเปลี่ยนแปลงทำการบำรุงรักษา ฯลฯ เมื่อฐานข้อมูลของคุณห่างไกลจากการถูกเก็บภาษีและคุณเพียงแค่ต้องการลดความซับซ้อนของเวลาในการพัฒนา (และย่น!) สิ่งนี้ดูเหมือนจะเป็นทางเลือกที่ชัดเจน แล้วมีปัญหาเว็บ ฉันได้เล่นกับ JavaScript ที่จะทำการจัดเรียงตาราง HTML ฝั่งไคลเอ็นต์ แต่ก็ไม่สามารถยืดหยุ่นได้เพียงพอสำหรับความต้องการของฉันและอีกครั้งเนื่องจากฐานข้อมูลของฉันไม่ได้เก็บภาษีมากเกินไปและสามารถจัดเรียงได้อย่างง่ายดายจริงๆฉัน มีช่วงเวลาที่ยากลำบากในการระบุเวลาที่ต้องใช้ในการเขียนซ้ำหรือม้วนตัวเรียงลำดับ JavaScript …

3
เรียงแถวใน data.table ตามลำดับที่ลดลงบนคีย์สตริง `order (-x, v)` ให้ข้อผิดพลาดบน data.table 1.9.4 หรือก่อนหน้า
สมมติว่าฉันมีสิ่งต่อไปนี้data.tableในR: library(data.table) DT = data.table(x=rep(c("b","a","c"),each=3), y=c(1,3,6), v=1:9) ฉันต้องการเรียงลำดับตามสองคอลัมน์ (พูดว่าคอลัมน์xและv) ฉันใช้สิ่งนี้: DT[order(x,v)] # sorts first by x then by v (both in ascending order) แต่ตอนนี้ฉันต้องการจัดเรียงตามx(ตามลำดับที่ลดลง) และมีรหัสต่อไปนี้: DT[order(-x)] #Error in -x : invalid argument to unary operator class(DT$x)=characterดังนั้นผมคิดว่าข้อผิดพลาดนี้เกิดจากความจริงที่ว่า คุณช่วยให้ข้อเสนอแนะเพื่อแก้ปัญหานี้ได้ไหม ฉันรู้ว่าฉันสามารถใช้ได้DT[order(x,decreasing=TRUE)]แต่ฉันต้องการทราบว่าไวยากรณ์เพื่อจัดเรียงตามหลายคอลัมน์โดยใช้ทั้งสองวิธี (ลดลงบ้างเพิ่มขึ้นบ้าง) ในเวลาเดียวกัน โปรดทราบว่าหากคุณใช้DT[order(-y,v)]ผลลัพธ์ก็โอเค แต่ถ้าคุณใช้DT[order(-x,v)]มีข้อผิดพลาด ดังนั้นคำถามของฉันคือ: จะแก้ไขข้อผิดพลาดนี้ได้อย่างไร?
125 r  string  sorting  data.table  key 

2
วิธีที่ถูกต้องในการเริ่มต้น OrderDict โดยใช้ตัวสร้างเพื่อที่จะรักษาลำดับของข้อมูลเริ่มต้น?
อะไรคือวิธีที่ถูกต้องในการเริ่มต้นพจนานุกรมแบบเรียงลำดับ (OD) เพื่อที่จะรักษาลำดับของข้อมูลเริ่มต้น from collections import OrderedDict # Obviously wrong because regular dict loses order d = OrderedDict({'b':2, 'a':1}) # An OD is represented by a list of tuples, so would this work? d = OrderedDict([('b',2), ('a', 1)]) # What about using a list comprehension, will 'd' preserve the order …

3
Django admin: วิธีจัดเรียงตามฟิลด์ list_display แบบกำหนดเองที่ไม่มีฟิลด์ฐานข้อมูล
# admin.py class CustomerAdmin(admin.ModelAdmin): list_display = ('foo', 'number_of_orders') # models.py class Order(models.Model): bar = models.CharField[...] customer = models.ForeignKey(Customer) class Customer(models.Model): foo = models.CharField[...] def number_of_orders(self): return u'%s' % Order.objects.filter(customer=self).count() ฉันจะจัดเรียงลูกค้าได้อย่างไรขึ้นอยู่กับว่าnumber_of_ordersพวกเขามี? admin_order_fieldไม่สามารถใช้คุณสมบัติที่นี่ได้เนื่องจากต้องใช้ฟิลด์ฐานข้อมูลเพื่อจัดเรียง เป็นไปได้หรือไม่เนื่องจาก Django อาศัยฐานข้อมูลพื้นฐานในการจัดเรียง การสร้างฟิลด์รวมเพื่อให้มีจำนวนคำสั่งซื้อดูเหมือนจะเกินความจำเป็น สิ่งที่น่าสนุก: หากคุณเปลี่ยน url ด้วยตนเองในเบราว์เซอร์เพื่อจัดเรียงในคอลัมน์นี้ - มันทำงานได้ตามที่คาดไว้!

7
การเรียงลำดับรายการอาร์เรย์ตามลำดับตัวอักษร (ไม่คำนึงถึงตัวพิมพ์เล็กและใหญ่)
ฉันมีสตริงอาร์เรย์namesที่มีชื่อบุคคล ฉันต้องการจัดเรียงรายการอาร์เรย์ตามลำดับตัวอักษร ArrayList<String> names = new ArrayList<String>(); names.add("seetha"); names.add("sudhin"); names.add("Swetha"); names.add("Neethu"); names.add("ananya"); names.add("Athira"); names.add("bala"); names.add("Tony"); names.add("Karthika"); names.add("Nithin"); names.add("Vinod"); names.add("jeena"); Collections.sort(names); for(int i=0; i<names.size(); i++) System.out.println(names.get(i)); ฉันพยายามจัดเรียงรายการตามวิธีด้านบน แต่กำลังแสดงอาร์เรย์ที่เรียงลำดับเป็น: Athira Karthika .. .. ananya bala ... แต่ฉันไม่อยากให้เป็นเรื่องละเอียดอ่อน ฉันต้องการผลลัพธ์เป็น: ananya Athira bala
121 java  sorting  arraylist 

16
คุณจัดเรียงอาร์เรย์ในหลายคอลัมน์ได้อย่างไร?
ฉันมีอาร์เรย์หลายมิติ อาร์เรย์หลักคืออาร์เรย์ของ [publicationID][publication_name][ownderID][owner_name] สิ่งที่ฉันพยายามที่จะทำคือการจัดเรียงอาร์เรย์โดยแล้วโดยowner_name publication_nameฉันรู้ว่าใน JavaScript คุณมีArray.sort()ซึ่งคุณสามารถใส่ฟังก์ชันที่กำหนดเองได้ในกรณีของฉันฉันมี: function mysortfunction(a, b) { var x = a[3].toLowerCase(); var y = b[3].toLowerCase(); return ((x < y) ? -1 : ((x > y) ? 1 : 0)); } นี่คือการปรับเพียงการเรียงลำดับในคอลัมน์หนึ่งคือ OWNER_NAME แต่ฉันจะปรับเปลี่ยนการจัดเรียงบนowner_nameแล้วpublication_name?

4
ฉันจะจัดเรียงอาร์เรย์ของแฮชตามค่าในแฮชได้อย่างไร
รหัส Ruby นี้ไม่ทำงานตามที่ฉันคาดหวัง: # create an array of hashes sort_me = [] sort_me.push({"value"=>1, "name"=>"a"}) sort_me.push({"value"=>3, "name"=>"c"}) sort_me.push({"value"=>2, "name"=>"b"}) # sort sort_me.sort_by { |k| k["value"]} # same order as above! puts sort_me ฉันต้องการจัดเรียงอาร์เรย์ของแฮชตามคีย์ "ค่า" แต่ถูกพิมพ์โดยไม่เรียงลำดับ
121 ruby  arrays  sorting  hash 

9
เรียงลำดับอาร์เรย์จำนวนมากอย่างมีประสิทธิภาพหรือไม่?
ฉันกำลังประหลาดใจคำถามเฉพาะนี้ยังไม่ได้รับการถามก่อน np.sortแต่ผมไม่คิดว่ามันในดังนั้นไม่เกี่ยวกับเอกสารของ สมมติว่าฉันมีอาร์เรย์แบบสุ่มที่ถือจำนวนเต็มเช่น: > temp = np.random.randint(1,10, 10) > temp array([2, 4, 7, 4, 2, 2, 7, 6, 4, 4]) ถ้าฉันเรียงลำดับฉันจะเรียงลำดับจากน้อยไปมากโดยค่าเริ่มต้น: > np.sort(temp) array([2, 2, 2, 4, 4, 4, 4, 6, 7, 7]) แต่ฉันต้องการแก้ปัญหาที่จะเรียงจากมากไปน้อยการสั่งซื้อ ตอนนี้ฉันรู้ว่าฉันทำได้เสมอ: reverse_order = np.sort(temp)[::-1] แต่คำสั่งสุดท้ายนี้มีประสิทธิภาพหรือไม่? มันไม่ได้สร้างสำเนาจากน้อยไปหามากแล้วย้อนกลับสำเนานี้เพื่อให้ได้ผลลัพธ์ในลำดับที่กลับกันใช่หรือไม่? หากเป็นเช่นนั้นจริงมีทางเลือกอื่นที่มีประสิทธิภาพหรือไม่? ดูเหมือนไม่np.sortยอมรับพารามิเตอร์เพื่อเปลี่ยนเครื่องหมายของการเปรียบเทียบในการดำเนินการเรียงลำดับเพื่อให้ได้สิ่งต่างๆในลำดับย้อนกลับ
121 python  arrays  sorting  numpy 

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.