Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- Даена беше еднострано поврзана листа, се бараше N пати да се избрише средината. Ако листата е со парен број елементи од 2та средишни елементи се брише помалиот, а ако се исти се брише првиот.
- Влез: првата линија број на елементи на листата,вториот ред елементите на листата и во третиот ред број колку пати да се избрише средината..
- import java.io.BufferedReader;
- import java.io.IOException;
- import java.io.InputStreamReader;
- public class BrisiSredinaNPati {
- public static void brisiNPati(SLL<Integer> lista, int brojac){
- SLLNode<Integer> temp = lista.getFirst();
- if (lista.length() == 1){
- lista.delete(temp);
- }else if(lista.length() == 2){
- SLLNode<Integer> next = lista.getFirst().succ;
- if(lista.getFirst().element < next.element){
- lista.delete(lista.getFirst());
- }else if(lista.getFirst().element > next.element){
- lista.delete(next);
- }else{
- lista.deleteFirst();
- }
- }else {
- for (int k = 0; k <= brojac; k++) {
- if (lista.length() % 2 != 0) {
- for (int i = 0; i < lista.length() / 2; i++) {
- temp = temp.succ;
- lista.delete(temp);
- }
- } else {
- for (int i = 0; i < ((lista.length() / 2) - 1); i++) {
- temp = temp.succ;
- SLLNode<Integer> next = temp.succ;
- if(temp.element < next.element){
- lista.delete(temp);
- }else if(temp.element > next.element){
- lista.delete(next);
- }else{
- lista.delete(temp);
- }
- }
- }
- }
- }
- System.out.println(lista.toString());
- }
- public static void main(String[] args) throws IOException {
- BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
- String s = br.readLine();
- Integer n = Integer.parseInt(s);
- s = br.readLine();
- String[] pom = s.split(" ");
- SLL<Integer> lista = new SLL<>();
- for(int i = 0; i < n; i++){
- lista.insertLast(Integer.parseInt(pom[i])) ;
- }
- brisiNPati(lista,2);
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement