Lista jednokierunkowa.

0

Stos jest listą jednokierunkową, chyba tak??? Tylko nie ma dostępu do wszystkich elementów???

0

o_O?
Stos to abstrakcyjny rodzaj kontenera na dane. Lista jednokierunkowa to opis implementacji kontenera
Można zaimplementować stos jako listę jednokierunkową i zwykle się tak robi, ale można też zaimplementować go jako tablicę jeśli ktoś ma taki kaprys.
Masz dostęp do wszystkich elementów ale sekwencyjny o czasie dostępu O(n).

0

Widzę że to ogarniasz bo mam klasę ze stosem:

import java.util.*;

public interface IStos {
class Element{
// klasa wewnetrzna - element stosu
int dane;
Element nastepny;

	public Element(int x, Element n)
	{
		dane=x;
		nastepny=n;
	}
	
	public Element getNext(){
		return nastepny;
		}
	
	public int getWartosc(){
		return dane;
		}
	} 


public class Stos
{
	Element  start;
	Stos(){
		start=null;
		}
	
	public Element getStart(){
		return start;
		}
	
	public void push(int i) // dodaje i na stos 
	{
		Element temp = new Element(i,start);
		start=temp;
	}
	
	public void pop()
	{
		if(start!=null){
			start = start.getNext();
			} else {
			System.out.println("Stos jest pusty");
			} 
	}
	
	
	public int peek()
	
	{
	return start.getWartosc();
	}
	
	public boolean isEmpty()
	{
		if(start!=null) return false;
		else return true;
	}
	
	public void print()
	{
		if(start!=null){
			Element temp = start;
			while(temp!=null){
			System.out.print(temp.getWartosc() + " ");
			temp=temp.getNext();
			}
			System.out.println();  
			} else {
			System.out.println("Stos jest pusty");
			}
	}
	
	public void clear()
	{
		while(start!=null)
		{
			pop();
		}
	}
	
	public static void main(String[] args)
	{
		int j;
		System.out.println("Podaj element na stos: ");
		Scanner wp = new Scanner(System.in); 
		j = wp.nextInt();
		Stos z = new Stos();
		z.push(j);
		z.push(24);
		z.print();
		System.out.println("Wierzchołek: ");
		System.out.println(z.peek());
	}
}
}

Czy to mogę przerobić na listę??? Wydaje mi się, że tak.

0

Sam robiłem tą klasę więc może być coś źle.

0

A lista dwukierunkowa to taka która wczytuje od początku i od końca, tak ??? Mam jeszcze takie pytanie czy w programowaniu np. gier bardzo to się przydaje czy raczej można bez tego się obejść.

0

znaczy się że mogę zapisywać od początku i od końca

0

W programowaniu gier możesz się bawić wbudowanymi kontenerami języka zamiast ręcznie implementować struktury danych ;) Chociaż lista pewnie będzie szybciej działać.

Lista dwukierunkowa to taka, w której każdy element ma wskaźnik na poprzedni element oraz wskaźnik na następny element. Lista jednokierunkowa to taka, w której każdy element ma wskaźnik tylko na następny element.

0

ok, dzięki , jesteś wielki

1 użytkowników online, w tym zalogowanych: 0, gości: 1