מיין רשימות בחינם - מיון אלפביתי ומספרי מקוון
כלי זה ממיין כל רשימה מיידית לפי סדר אלפביתי או ערך מספרי, מסיר כפילויות ומייצא את התוצאה כטקסט או כקובץ JSON - חינם, לארגון שמות, מספרים ונתונים.
מיין רשימה
רשימה ממוינת
תצוגה חזותית
תיעוד
ממיין רשימות
ממיין רשימות הוא כלי שמקבל גוש של פריטי טקסט, המופרדים בתו שנבחר, ומסדר אותם. כלי זה ממיין רשימות בסדר אלפביתי או מספרי, יכול להסיר פריטים כפולים, ומפיק את התוצאה כטקסט רגיל או כ־JSON.
איך למיין רשימה באופן מקוון
- הקלידו או הדביקו את הרשימה בתיבת הקלט.
- הגדירו את המפריד, התו שמפריד בין פריט אחד למשנהו. ברירת המחדל היא פסיק.
- בחרו סוג מיון: אלפביתי למילים, מספרי למספרים.
- בחרו את סדר המיון: עולה או יורד.
- הפעילו את האפשרות "הסרת כפילויות" אם יש להסיר רשומות חוזרות.
- בחרו תבנית פלט, טקסט או JSON.
- העתיקו את התוצאה.
איך פועל מיון אלפביתי
במצב אלפביתי הפריטים מושווים כטקסט, באמצעות השוואת מחרוזות המותאמת לאזור ולא באמצעות השוואה גולמית של קודי תווים. כך הוא מקבץ מילים קודם לפי האותיות שלהן ומטפל כראוי באותיות עם סימנים דיאקריטיים: "Zürich" ו־"São Paulo" ממוינים במקום שבו קורא שוטף היה מצפה למצוא אותם.
האותיות הגדולות והקטנות משמשות כלל משני. שתי מילים שנבדלות רק ברישיות, כגון "apple" ו־"Apple", מקובצות יחד, והגרסה באותיות קטנות מוצבת ראשונה. מספרים הממוינים כך מושווים ספרה אחר ספרה כטקסט, ולכן "10" מופיע לפני "2": התו "1" מושווה לפני שמגיעים כלל אל "2".
דוגמה. קלט banana, apple, cherry, apple, מפריד ,, סדר עולה, כפילויות הוסרו.
- המופע החוזר של "apple" מוסר, ונשארים שלושה פריטים.
- פלט:
apple,banana,cherry
כל פריט עובר הסרת רווחים מיותרים לפני המיון, והפריטים הממוינים מחוברים באמצעות המפריד בדיוק כפי שהוקלד. הרווחים שאחרי הפסיקים בקלט אינם מופיעים בפלט.
איך פועל מיון מספרי
במצב מספרי כל פריט מומר למספר, והמספרים מושווים ישירות, ולכן "2" מופיע לפני "10". כל פריט ברשימה נבדק תחילה. אם אפילו פריט אחד אינו ניתן לקריאה כמספר, הכלי אינו ממיין את הרשימה כלל. במקום זאת הוא מציג שגיאה, ולא מופקת תוצאה. הדבר חל גם כאשר רק פריט אחד מתוך רשימה ארוכה אינו תקין.
דוגמה. קלט 10, 2, 33, 4, מצב מספרי, מפריד ,.
- פלט בסדר עולה:
2,4,10,33 - פלט בסדר יורד:
33,10,4,2
דוגמה למקרה של שגיאה. קלט 10, apple, 3, מצב מספרי.
- תוצאה: לא מוחזרת רשימה. הכלי מדווח "קלט מספרי לא תקין", מכיוון שלא ניתן להמיר את "apple" למספר.
כדי למיין רשימה המשלבת אותיות ומספרים, השתמשו במקום זאת במצב אלפביתי.
הסרת כפילויות
האפשרות "הסרת כפילויות" משאירה את המופע הראשון של כל פריט ומשליכה את השאר. היא משווה את הפריטים כטקסט זהה לחלוטין, ולכן היא רגישה לרישיות: "Apple" ו־"apple" נחשבים לפריטים שונים ושניהם נשארים, אלא אם הרשימה הומרה תחילה לאותיות קטנות.
מפרידים
המפריד מציין היכן פריט אחד מסתיים והבא מתחיל. אפשר להשתמש בכל טקסט כמפריד, לא רק בתו יחיד. אפשרויות נפוצות:
- פסיק (
,) לנתונים שהועתקו מגיליונות אלקטרוניים או מקובצי CSV - נקודה־פסיק (
;) לרשימות שכבר מכילות פסיקים - רווח יחיד, לרשימות קצרות של מילים
- סמל כגון
|שאינו מופיע בתוך הפריטים עצמם
תיבת המפריד מכילה שורת טקסט אחת. דפדפנים מסירים מעברי שורה מתיבות של שורה יחידה, ולכן אי אפשר להשתמש כאן במעבר שורה כמפריד. כדי למיין רשימה שבה פריט אחד מופיע בכל שורה, החליפו תחילה את מעברי השורה בפסיקים בעורך טקסט, ולאחר מכן הדביקו את התוצאה.
השארת תיבת המפריד ריקה מציגה את ההודעה "מפריד לא תקין. נא לבדוק את הקלט שלך." ולא מוחזרת רשימה ממוינת. אם הפלט נראה כמו פריט ארוך אחד במקום רשימה, בדרך כלל המפריד אינו תואם לקלט.
פלט JSON
בחירה בפלט JSON עוטפת את הרשימה הממוינת במערך JSON, המודפס פריט אחד בכל שורה בהזחה של שני רווחים:
1[
2 "apple",
3 "banana",
4 "cherry"
5]
6כל רשומה נכתבת כמחרוזת במירכאות, גם במצב מספרי. מיון מספרי של 10, 2 וייצוא ל־JSON נותן את המחרוזות "2" ו־"10", ולא את המספרים 2 ו־10. תוכניות הזקוקות לערכים מספריים אמיתיים צריכות להמיר את המחרוזות לאחר הייבוא.
תרשים העמודות
מתחת לפלט הממוין מוצג תרשים של התוצאה. במצב אלפביתי זו רשימה ממוספרת של הפריטים הממוינים. במצב מספרי כל פריט מקבל פס שאורכו מייצג את חלקו בטווח הציר. הציר מתחיל תמיד באפס: הוא נע מהקטן מבין אפס והערך הקטן ביותר אל הגדול מבין אפס והערך הגדול ביותר. ערך אפס נמצא על קו הבסיס. הערך הגדול ביותר ממלא את הפס עד ל־100% כאשר הוא חיובי. ערכים שליליים יוצרים עמודות קצרות יותר ולא ארוכות יותר, ולכן כאשר כל הערכים ברשימה שליליים, אף עמודה אינה מלאה. אם כל הערכים הם אפס, בכל העמודות מופיע 0%.
מתי כדאי להשתמש בממיין רשימות
מיון אלפביתי מתאים לשמות אנשי קשר, לקודי מוצרים ולרשומות ביבליוגרפיות, שסגנונות ציטוט רבים דורשים לסדר לפי שם המשפחה של המחבר. מיון מספרי מתאים למחירים, לציונים ולמדידות. הסרת כפילויות מסייעת לנקות רשימות שנבנו באמצעות העתקת נתונים ממקורות אחדים, כגון גיליונות אלקטרוניים שמוזגו או רשימות אנשי קשר שיוצאו.
במערכי נתונים גדולים מאוד, מסד נתונים עם עמודה עם אינדקס או פעולת המיון המובנית בגיליון אלקטרוני יתפקדו בדרך כלל טוב יותר מכלי מבוסס דפדפן. למיון חוזר של אותו קובץ כחלק מתהליך אוטומטי, כלי שורת פקודה או סקריפט מתאימים יותר מדף אינטרנט.
הערה קצרה על אלגוריתמי מיון
מיון רשימה קצרה ומיון רשימה של מיליון פריטים מתבססים על אותו רעיון: השוואת זוגות פריטים וסידורם לפי הסדר. אלגוריתמים יעילים עושים זאת בלי להשוות כל זוג אפשרי. פעולת המיון המובנית של JavaScript, Array.prototype.sort, שעליה מסתמכים ממייני רשימות מבוססי דפדפן רבים, משתמשת ב־Timsort ב־V8, המנוע שמאחורי Chrome ו־Node.js. Timsort הוא שילוב של מיון מיזוג ומיון הכנסה, שנכתב על ידי Tim Peters עבור Python בשנת 2002. דפדפנים אחרים משתמשים באלגוריתמי מיון יציבים אחרים; מפרט JavaScript דורש שהתוצאה תהיה יציבה, כלומר שפריטים המושווים כשווים ישמרו על הסדר היחסי המקורי שלהם, אך אינו דורש אלגוריתם מסוים.
שאלות נפוצות
איך ממיינים רשימה בסדר אלפביתי באופן מקוון? הדביקו את הרשימה בתיבת הקלט, בחרו "אלפביתי" כסוג המיון, ובחרו בסדר עולה (מ־A עד Z) או יורד (מ־Z עד A). הרשימה הממוינת מופיעה מיד.
מדוע המיון המספרי שלי נכשל? המצב המספרי דוחה את הרשימה כולה אם פריט יחיד כלשהו אינו מספר תקין, במקום לדלג על הפריט השגוי. בדקו אם יש ברשימה אותיות תועות, סמלי מטבע או רווחים מיותרים, והסירו אותם, או עברו למצב אלפביתי אם הרשימה אמורה להכיל טקסט.
האם הכלי מתייחס לאותיות גדולות וקטנות כזהות בעת המיון? לצורכי סידור, כן: "apple" ו־"Apple" מקובצות זו לצד זו. לצורך הסרת כפילויות, לא: הן נחשבות לשני פריטים שונים, אלא אם הרשימה הומרה תחילה לאותה רישיות.
באיזה מפריד עליי להשתמש? בכל תו או מחרוזת קצרה שתואמים לאופן שבו הרשימה מופרדת בפועל: פסיק לנתונים בסגנון CSV, נקודה־פסיק אם כבר מופיעים פסיקים בתוך הפריטים, או רווח למילים בודדות. אי אפשר להקליד מעבר שורה בתיבת המפריד, ולכן ברשימות המופרדות באמצעות מעברי שורה, יש להחליף תחילה את מעברי השורה בפסיקים.
האם אפשר לייצא את הרשימה הממוינת כ־JSON?
כן. פלט JSON הוא מערך של מחרוזות במירכאות בסדר ממוין, המודפס פריט אחד בכל שורה בהזחה של שני רווחים. מיון מספרי של 10, 2, 4 מייצא את המחרוזות "2", "4" ו־"10", ולא מספרי JSON מקוריים.
האם יש מגבלה על מספר הפריטים שאפשר למיין? הכלי פועל בדפדפן, ולכן רשימות גדולות מאוד (עשרות אלפי פריטים ויותר) עלולות להאט את הפעולה או להעמיס על הזיכרון הזמין, בהתאם למכשיר. בהיקף כזה, מסד נתונים או סקריפט הם בחירה אמינה יותר.