class ListElement {
ListElement next;
int data;
}
class List {
private ListElement front;
private ListElement rear;
void addFront(int data) {
ListElement a = new ListElement();
a.data = data;
if (front == null) {
front = a;
rear = a;
} else {
a.next = front;
front = a;
}
}
void addBack(int data) {
ListElement a = new ListElement();
a.data = data;
if (rear == null) {
front = a;
rear = a;
} else {
rear.next = a;
rear = a;
}
}
void showElem() {
ListElement t = front;
while (t != null) {
System.out.print(t.data + " ");
t = t.next;
}
}
void delElem(int data) {
if (front == null)
return;
if (front == rear) {
front = null;
rear = null;
return;
}
if (front.data == data) {
front = front.next;
return;
}
ListElement t = front;
while (t.next != null) {
if (t.next.data == data) {
if (rear == t.next) {
rear = t;
}
t.next = t.next.next;
return;
}
t = t.next;
}
}
}
....
{
public static void main(String[] args) {
List m1 = new List();
Scanner scan = new Scanner(System.in);
String s = "";
int x = 0;
int number;
while (!"5".equals(s)) {
System.out.println("1. Для добавления элемента в конец");
System.out.println("2. Для добавления элемента начало ");
System.out.println("3. Для удаления элемента ");
System.out.println("4. Для вывода текущего ссостояия списка");
System.out.println("5. Для выхода из приложения");
s = scan.next();
try {
x = Integer.parseInt(s);
} catch (NumberFormatException e) {
System.out.println("Неверный ввод");
}
switch (x) {
case 1:
System.out.println("Введите число:");
number = scan.nextInt();
m1.addBack(number);
break;
case 2:
System.out.println("Введите число:");
number = scan.nextInt();
m1.addFront(number);
break;
case 3:
System.out.println("Введите число:");
number = scan.nextInt();
m1.delElem(number);
break;
case 4:
m1.showElem();
System.out.println();
break;
}
}
}
}
Можно ли как то переделать код, что бы был массив вместо листов?