Java / LR_4
.docМіністерство освіти і науки України
ДЕРЖАВНИЙ ВИЩИЙ НАВЧАЛЬНИЙ ЗАКЛАД
«НАЦІОНАЛЬНИЙ ГІРНИЧИЙ УНІВЕРСИТЕТ»
ІНСТИТУТ ЕЛЕКТРОЕНЕРГЕТИКИ
ФАКУЛЬТЕТ ІНФОРМАЦІЙНИХ ТЕХНОЛОГІЙ
Кафедра програмного забезпечення комп'ютерних систем
ЗВІТ
З ЛАБОРАТОРНОЇ РОБОТИ № 4
з дисципліни “Мережеве Java програмування”
Виконав:
|
ст. гр. КНіт-10-1 Левченко О.А. |
Перевірив: |
Зінченко О.В. Харь О. Т.
|
Дніпропетровськ
2014
Лабораторная работа №4
Динамические структуры данных: хеш, стеки, списки
Цель: Освоить динамические структуры данных .
Задача: В результате выполнения работы созданное Java приложение должно вывести на экран текстовую строку, которая должна содержать Ваши фамилию, имя, отчество, название студенческой группы и тему этой работы.
Вариант 2:
Разбить очередь на две очереди. В первую очередь поместить элементы, стоящие на четных местах, во вторую - на нечетных.
Листинг программы:
package lr_4;
import java.math.BigDecimal;
import java.util.ArrayList;
import java.util.List;
import java.util.Scanner;
class Queue {
private List<Integer> queue;
int size;
int pointer = 0;
Queue(int n)
{
queue = new ArrayList(n);
size = n;
}
public Boolean put(int value){
pointer++;
return queue.add(value);
}
public int get(){
int result = queue.get(pointer);
//queue.remove(0);
return result;
}
public int length(){
return queue.size();
}
public Boolean hasNext(){
return queue.size() > 0;
}
public void print()
{
for(int i=0; i<size; i++)
{
System.out.print("a["+i+"]="+queue.get(i)+"\n");
}
}
}
public class LR_4 {
public static void main(String[] args) {
Scanner scan = new Scanner( System.in ); // System.in через сканер
System.out.print("Блажко Виктория\n");
System.out.print("КНит-10-2\n");
System.out.print("Динамические структуры данных: хеш, стеки, списки\n");
System.out.print("2.Разбить очередь на две очереди. В первую очередь поместить элементы,\nстоящие на четных местах, во вторую - на нечетных.\n");
System.out.print("Укажите кол-во эл. очереди n=");
int n = scan.nextInt();
Queue queu = new Queue(n);
Queue evenQueu;
Queue notEvenQueu;
if(n % 2 == 0)
{
int tempN = (int) n/2;
evenQueu = new Queue(tempN);
notEvenQueu = new Queue(tempN);
}
else
{
int tempN = (int) n/2;
evenQueu = new Queue(tempN+1);
notEvenQueu = new Queue(tempN);
}
for(int i=0; i<n; i++)
{
System.out.print("Введите a["+i+"]=");
int temp = scan.nextInt();
queu.put(temp);
if ( (i % 2) == 0)
{
evenQueu.put(temp);
}
else
{
notEvenQueu.put(temp);
}
}
queu.print();
System.out.print("Очередь парних:\n");
evenQueu.print();
System.out.print("Очередь непарних:\n");
notEvenQueu.print();
}
}
Результат:
Вывод: я освоил динамические структуры данных.