Professional Documents
Culture Documents
Преврти ја листата reshena
Преврти ја листата reshena
Дадена е двострано поврзана листа чии што јазли содржат по еден природен број.
Листата треба да се преврти т.ш. прво се превртуваат јазлите кои содржат парни
броеви,
а потоа јазлите со непарни броеви. Листата се разгледува од назад.
Право на користење имате само една дополнителна помошна двострано поврзана листа.
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
class DLLNode<E> {
protected E element;
protected DLLNode<E> pred, succ;
@Override
public String toString() {
return element.toString();
}
}
class DLL<E> {
private DLLNode<E> first, last;
public DLL() {
// Construct an empty SLL
this.first = null;
this.last = null;
}
public E deleteFirst() {
if (first != null) {
if (first.succ == null){
last = null;
first = null;
}
else{
DLLNode<E> tmp = first;
first = first.succ;
first.pred = null;
return tmp.element;
}
}
return null;
}
public E deleteLast() {
if (first != null) {
if (first.succ == null)
return deleteFirst();
else {
DLLNode<E> tmp = last;
last = last.pred;
last.succ = null;
return tmp.element;
}
}
// else throw Exception
return null;
}
@Override
public String toString() {
String ret = new String();
if (first != null) {
DLLNode<E> tmp = first;
ret += tmp + "<->";
while (tmp.succ != null) {
tmp = tmp.succ;
ret += tmp + "<->";
}
} else
ret = "Prazna lista!!!";
return ret;
}
return last;
}
current = lista.getLast();
while (current != null) {
if (current.element % 2 != 0) {
pomosna.insertLast(current.element);
}
current = current.pred;
}
System.out.println(pomosna);
}
}
--------------------------------------------------------------
#include<stdio.h>
#include<malloc.h>
node * novaDvojna()
{
node *v = (node *)malloc(sizeof(node));
v -> llink = v;
v -> rlink = v;
return v;
}
int main(){
node *lista=NULL, *pomosna=NULL;
int i,n,info;
lista=novaDvojna();
scanf("%d",&n);
for(i=0;i<n;i++)
{
scanf ("%d", &info);
dodadi(&lista,info);
}
return 0;
}
Sample input
20
2 2 4 6 2 4 6 8 0 1 1 1 1 3 1 1 3 5 7 9
Sample output
0 8 6 4 2 6 4 2 2 9 7 5 3 1 1 3 1 1 1 1