בתכנות יש קבוצות רבות ושונות וסוגי הנתונים שהמערכת יכולה לטפל בעזרת שהמתכנת יכול לארגן את מידע תהליך.סוגי נתונים
בשפות תכנות
זה חלק בלתי נפרד מרוב שפות תכנות, המתאר את הגודל ומאפיינים של הנתונים המאוחסנים במיקום זיכרון ספציפי, שמבטיח פעולה נכונה של התכנית בתהליך של יישום על ידי פעולה שנקבעה.
לדוגמא, אחד מהסוגים הבסיסיים נתונים משתנה שלם.הם יכולים להיות גם שנחתמו ולהיפך, כפי שהשם כבר מעביר את התוכן של תא מסוג זה.בנוסף
למשתנים שלמים, יש אנלוגים של נקודה צפה, המשמשים לייצג ערך אמיתי.לבסוף, סוגי נתונים הפרימיטיביים שנקרא משתנים מחרוזת ואופי ומצביעים.בסך הכל זה יחידת שפה מבודדת.מבני
נתונים
רמות גבוהות יותר של ארגון בתכנות נחשבים לשלב כמה יחידות של סוג הנתונים הפרימיטיבי למבנה מורכב יותר.בין הסוגים הנפוצים ביותר של חומרים מרוכבים נחשבים Java-המערכים שנקרא.אתה יכול גם לבחור רשימות, tuples, ערימות ותורים.ההבדל העיקרי
של מערכים הוא שהם מספקים גישה אקראית למרכיביו.עם זאת, הקושי טמון בעובדה כי הסכום צריך להיות אפשרי כדי לציין את מבנה שלב אתחול מדויק.חסרון זה בוטל בסוגים מורכבים יותר נתונים, כגון רשימות.יש מערכות כאלה היכולת לגדול באופן דינמי עם התוספת של אלמנטים חדשים, אבל גישה לנתונים בהם היא ארוכה יותר.
ברוב שפות תכנות המודרניות, כל המבנים הללו נמצאים ולשחק תפקיד מכריע בתפקוד של שני היישומים והמערכת האקולוגי עצמו.ו- Java - אינו יוצא דופן.שפת תכנות
Java.היחידה הראשית
Java הוא bytecode שפת תכנות מסוג חזק הפועל בתוך מכונה וירטואלית המאפשרת לך לבצע פעולות ולקבל את אותה התוצאה, בלי קשר לארכיטקטורת מחשב ומערכות הפעלה.יש
המהדורה האחרונה של שפת Java שמונה סוגים פרימיטיביים: בוליאני ההגיוני, בתים שלמים, שלם, מספרים קצרים, ארוכים, סוג של נקודה צפו לצוף מיוצג ואופי כפול וchar.
Java-מערך הוא אוסף של סוג אחד של נתונים הנמצאים בזיכרון של כל אחד אחר ויש להם מספר רצף (מדד) שבו מערכת מתכנת או יכול לגשת לפריטים בודדים המאוחסנים במערך.מספור במדד מתחיל מאפס (האלמנט הראשון) ומוגדל על ידי אחד לכל מאוחרת.במערך זה מספק הגישה Java-אקראי - קוד המשתמש יכול לגשת לכל אלמנט של המערך, ללא קשר למיקומו בתוך המבנה.
אובייקטי
אל תשכח שJava - הוא בעיקר מונחה עצמים שפת תכנות.לכן, אלמנטים אלה הם חלק בלתי נפרד ממודל הזיכרון.תכונה של מערכות מסוג זה היא שJava-המערכים יכולים לאחסן חפצים באותו אופן כפי שהם לאחסן סוגים פרימיטיביים נתונים.האובייקט הנפוץ ביותר הוא מחרוזת בשפה.הם מייצגים את ערכות תווים, מאורגנות בתא זיכרון אחד ובלתי ניתן לשינוי.
מערך של מחרוזות Java הוא קבוצה מסודרת של מצביעים לאזורי זיכרון אחרים, כל אחד מהם מאוחסנים האובייקט הרצוי.משתמש נדרש מקבל סט של סמלים, כך ממיקום מרוחק בזיכרון של המחשב וירטואלי ורץ עם זה באופן עקיף.מערכים דו-ממדיים
(מטריצות)
תופעה זו, כמטריצה היא מערך דו-ממדי של Java אובייקטים או הפרימיטיבים, לארגן אותם על "מספר העמודה."לפעמים מבנה נתונים זה הוא כפי שתואר "מערך של מערכים".זאת בשל העובדה שכל שורה או עמודת אלמנטים של מערך Java-ממדי קונבנציונלי, ושילובם של מטריקס.
התגלמות דו-ממדית כל וקטור יכול להיות באורך שלו שונה מהאחרים.כאשר מתייחס לאלמנט יחיד של המערך משתמש בשני מדדים כדי לציין את זיכרון המיקום רצוי.ראשית - זה מספר הקו שבו האובייקט הרצוי ממוקם.המדד השני - מספר עמודה, או את המספר הסידורי של הרכיב בווקטור.אלמנטי אינדקס בתוך המבנים דו-ממדיים מתחילים מהתחלה, כמו במקרה עם מערכים חד-ממדיים.לכן, כדי להתייחס לאלמנט האחרון של מערך של תווי N אורך ישמש במדד [N-1].משימות הנפוצות ביותר
פריטי מיין
בעבודה עם מערכים היא בדיוק מהסוג.זה טריוויאלי במבט ראשון, המשימה היא הרבה יותר מסובכת כמו מספר האלמנטים בוקטור או מטריצה.
יש אלגוריתמים שונים למיון אלמנטים בתוך מבנה מסוים - בועת שיטה, מיון בחירה, למזג, או השיטה של החדרת מדגם.כל השיטות שונות במהירות של המשימה ואת כמות הזיכרון הדרושה כדי לאחסן נתונים נוספים זמניים ותוצאות שהושגו במהלך פעולות ביניים.ייתכן שיש לי
אלגוריתמים מסוימים יחס אופטימלי שונה בהתאם לערכת נתוני קלט.ב- Java, מיון המערך יכול להיעשות באמצעות מערכי שיעור עזר סטנדרטיים, שבו יש סוג שיטה סטטית, ממיין את הפריטים בעולים ושימוש בשיטת דגימה מהירה.עם זאת, האלגוריתם הוא לא יציב, וזמן ביצוע עשוי להיות שונה אפילו בעיבוד של מערכים באותו האורך.סוג זה ידוע כרשימות אקראיות גדולות הורו במהירות.מתכנתים זמינים גם כל הכספים ליישום של כל אלגוריתם מיון אחר בהתאם לפרמטרים של הבעיה, ודרישות תוצאות.