วิธีจัดเรียงรายการตามตัวอักษร

สารบัญ:

วิธีจัดเรียงรายการตามตัวอักษร
วิธีจัดเรียงรายการตามตัวอักษร

วีดีโอ: วิธีจัดเรียงรายการตามตัวอักษร

วีดีโอ: วิธีจัดเรียงรายการตามตัวอักษร
วีดีโอ: สอน Excel: การเรียงลำดับข้อมูลแบบกำหนดลำดับการเรียงเอง (Sort with custom list) ใน Excel 2024, พฤศจิกายน
Anonim

ลำดับของข้อมูลประเภทเดียวกันสามารถแสดงเป็นรายการได้ รายการสามารถสั่งซื้อและ unordered ในกรณีหลัง การทำงานกับข้อมูล การค้นหาค่าที่ต้องการ และการเข้าถึงองค์ประกอบของรายการทำให้เกิดปัญหาบางอย่าง รายการตัวแปรสตริงมักจะจัดเรียงตามตัวอักษร มีวิธีการจัดเรียงมากมาย ในแต่ละกรณี คุณควรเลือกอัลกอริธึมที่เหมาะสมที่สุด

วิธีจัดเรียงรายการตามตัวอักษร
วิธีจัดเรียงรายการตามตัวอักษร

คำแนะนำ

ขั้นตอนที่ 1

เมื่อเลือกวิธีการจัดเรียงที่ดีที่สุด มีสองสิ่งที่ต้องพิจารณา ได้แก่ เวลาที่ใช้ในการจัดเรียงและจำนวนหน่วยความจำที่จำเป็นสำหรับการจัดเก็บข้อมูลเสริม อัลกอริธึมการเรียงลำดับที่ไม่ต้องการหน่วยความจำเพิ่มเติมจะเรียกว่าการเรียงลำดับแบบ "ในตำแหน่ง" วิธีที่ง่ายที่สุดวิธีหนึ่งคือการจัดเรียงแบบฟองช้าๆ ซึ่งจะสแกนแต่ละคู่ของรายการในรายการและสลับตำแหน่งตามคำสั่งซื้อที่ต้องการ

ขั้นตอนที่ 2

มีวิธีการเรียงลำดับที่เร็วกว่าโดยการค้นหารายการต่ำสุดหรือสูงสุดในรายการ ในกรณีของการเรียงลำดับตามตัวอักษร ทุกครั้งที่คุณดูรายการ คุณจำเป็นต้องค้นหาองค์ประกอบสูงสุด - นี่จะเป็นสตริงที่ขึ้นต้นด้วยตัวอักษรที่ใกล้กับจุดเริ่มต้นของตัวอักษรมากที่สุด เมื่อพบแล้ว สตริงจะถูกสลับกับรายการแรกสุดในรายการในการส่งครั้งแรก เมื่อพิจารณารายชื่อเพิ่มเติมแล้ว จะไม่รวมสถานที่แรก ค้นหาองค์ประกอบสูงสุดถัดไป อยู่ในอันดับที่สอง ฯลฯ รหัสของโปรแกรมการเรียงลำดับในภาษา C ++ โดยวิธีการหาองค์ประกอบสูงสุดของรายการ: String Arr [20], cTemp; int N = 20, Max, Pos; for (int i = 0; i <N- 1; i ++) {สูงสุด = Arr ; ตำแหน่ง = ผม; สำหรับ (int j = 0; j <N; j ++) {if (Arr [j] <Max) {Max = Arr [j]; ตำแหน่ง = เจ; } cTemp = Arr ; Arr = Arr [Pos]; Arr [Pos] = cTemp; }}

ขั้นตอนที่ 3

ทางออกที่ดีที่สุดสำหรับการสั่งซื้อข้อมูลสตริงในรายการคือการเรียงลำดับการแทรก สาระสำคัญของมันอยู่ที่ความจริงที่ว่าทุกครั้งที่ผ่านรายการมีส่วนที่เรียงลำดับของรายการขององค์ประกอบจำนวนหนึ่งดังนั้นองค์ประกอบถัดไปที่อยู่ระหว่างการพิจารณาจะถูกวางไว้ในตำแหน่งที่เหมาะสมในรายการ รหัส C ++ ของอัลกอริทึมการเรียงลำดับการแทรก: String Arr [20], cTemp; int N = 20; for (int i = 1, j = 0; i <N; i ++) {cTemp = Arr ; เจ = ผม - 1; ในขณะที่ (cTemp <Arr [j]) {Arr [j + 1] = Arr [j]; NS--; ถ้า (j <0) แตก; Arr [j + 1] = cTemp; }}