|
|||||||
АвтоАвтоматизацияАрхитектураАстрономияАудитБиологияБухгалтерияВоенное делоГенетикаГеографияГеологияГосударствоДомДругоеЖурналистика и СМИИзобретательствоИностранные языкиИнформатикаИскусствоИсторияКомпьютерыКулинарияКультураЛексикологияЛитератураЛогикаМаркетингМатематикаМашиностроениеМедицинаМенеджментМеталлы и СваркаМеханикаМузыкаНаселениеОбразованиеОхрана безопасности жизниОхрана ТрудаПедагогикаПолитикаПравоПриборостроениеПрограммированиеПроизводствоПромышленностьПсихологияРадиоРегилияСвязьСоциологияСпортСтандартизацияСтроительствоТехнологииТорговляТуризмФизикаФизиологияФилософияФинансыХимияХозяйствоЦеннообразованиеЧерчениеЭкологияЭконометрикаЭкономикаЭлектроникаЮриспунденкция |
Одно- і двонаправлений спискиЕлементарні структури даних Лінійні: масив (індексований набір даних), список. Нелінійні: дерево, хеш-таблиця. Масив – це фіксованого розміру набір даних однорідного типу, що зберігається у вигляді неперервної послідовності значень. <Тип> ідентифікатор [] або <тип> [] ідентифікатор – оголошення Опис – <ідентифікатор> = new <тип > [R-вираз] Ініціалізація при описі - <тип> <ідентифікатор> [] = {<літерал>,{<літерал>} }; Приклад Package lek_1_prim; … Бажано при написанні програми створювати окремий метод виведення. Список – це набір елементів, кожен з яких складається з двох частин: набору даних і посилання на інший елемент. Одно- і двонаправлений списки import java.util.*; class element { int data; element prev; element(int x, element s) { data=x; prev = s;} }
class stack { element last; public void form() { Scanner nIn = new Scanner(System.in); while(true) { System.out.print("\nEnter the elememt? Yes - press key 'y', No - press key 'n' "); if (nIn.next().equals("y")) { System.out.print("Enter value -> "); int x = nIn.nextInt(); if (last == null) last = new element(x, null); last = new element(x, last); } else { System.out.print("\nAll element add!\n"); break; } } } public void prin() { System.out.print("\nStack -> "); element current = last; while (current!= null) { System.out.print(current.data +"\t"); current = current.prev; } } }
public class SpisokDemo { public static void main(String [] args) { stack spisok = new stack(); spisok.form(); spisok.prin(); } } Дерево – це набір елементів (вузлів), кожен з яких має посилання на множину інших елементів (вузлів), пов’язаних з ним певними вимогами (правилами). Типи: вільне дерево (невпорядковане дерево з багатьма (множинними) зв’язками); дерево з коренем (один вузол називається коренем і не має інших вузлів під собою); впорядковане дерево (кожен вузол має довільну кількість посилань); М-арне дерево (кожен вузол має однакову кількість посилань); бінарне дерево (кожен вузол пов’язаний тільки з парою дерев, що називаються лівим і правим). (Менше значення – ліва гілка, більше – права; порівнюємо лише з вершиною, бо маємо лише її адресу – якшо є шось менше - аналогічно). class Node { int data; Node left; Node right; Node(int x) { data=x; } } class Tree { Node root; public void prin() { prinElem(root); } private void prinElem(Node el) { if (el!= null) { prinElem(el.left); System.out.print(el.data +" "); prinElem(el.right); } } public void form() { Node new_elem = null; Scanner nIn = new Scanner(System.in); while(true) { System.out.print("\nAdd the node? Yes - press key 'y', No - press key 'n' "); if (nIn.next().equals("y")) { System.out.print("Enter value -> "); new_elem = new Node(nIn.nextInt()); if (root == null) root = new_elem; ins(root, new_elem); } else { System.out.print("\nTree form!!!!\n"); break; } } } private void ins(Node cur, Node el) { while(true) { if (cur.data > el.data) if (cur.left == null) { cur.left = el; break; } else cur = cur.left; else if (cur.data < el.data) if (cur.right == null) { cur.right = el; break; } else cur = cur.right; else break; } } }
public class TreeDemo { public static void main(String [] args) { Tree first = new Tree(); first.form(); System.out.println("\nTree -> "); first.prin(); } } Поиск по сайту: |
Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Студалл.Орг (0.006 сек.) |