АвтоАвтоматизацияАрхитектураАстрономияАудитБиологияБухгалтерияВоенное делоГенетикаГеографияГеологияГосударствоДомДругоеЖурналистика и СМИИзобретательствоИностранные языкиИнформатикаИскусствоИсторияКомпьютерыКулинарияКультураЛексикологияЛитератураЛогикаМаркетингМатематикаМашиностроениеМедицинаМенеджментМеталлы и СваркаМеханикаМузыкаНаселениеОбразованиеОхрана безопасности жизниОхрана ТрудаПедагогикаПолитикаПравоПриборостроениеПрограммированиеПроизводствоПромышленностьПсихологияРадиоРегилияСвязьСоциологияСпортСтандартизацияСтроительствоТехнологииТорговляТуризмФизикаФизиологияФилософияФинансыХимияХозяйствоЦеннообразованиеЧерчениеЭкологияЭконометрикаЭкономикаЭлектроникаЮриспунденкция

Одно- і двонаправлений списки

Читайте также:
  1. В Україні природно-заповідний фонд охороняється як національне надбання, щодо якого встановлюється особливий режим охорони, відтворення і використання.
  2. Влияние природно-экологических и социально-экологических факторов на здоровье человека.
  3. Водно-химический режим котельной
  4. Водно-химический режим паровых турбин
  5. Вопрос о частеречном статусе модальных слов. В.В. Виноградов о месте модальных слов в системе частей речи. Синтаксические функции вводно-модальных слов.
  6. Вплив погодно-метеорологічних факторів на стан і працездатність людини
  7. Глава 3. ПРИРОДНО-РЕСУРСНЫЙ ПОТЕНЦИАЛ
  8. Еволюція одно- та багатоклітинних еукаріот. Формування наземних екосистем.
  9. Економічна оцінка природно-ресурсного потенціалу Франції
  10. Лекція ТЕМА 9. Правовий режим територій та об’єктів природно-заповідного фонду
  11. Международно-правовая защита жертв войны
  12. Международно-правовая охрана окружающей среды.

Елементарні структури даних

Лінійні: масив (індексований набір даних), список.

Нелінійні: дерево, хеш-таблиця.

Масив – це фіксованого розміру набір даних однорідного типу, що зберігається у вигляді неперервної послідовності значень.

<Тип> ідентифікатор [] або <тип> [] ідентифікатор – оголошення

Опис – <ідентифікатор> = 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();

}

}


1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 |

Поиск по сайту:



Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Студалл.Орг (0.006 сек.)