C++ Please explain the code below. It doesn't have to be long, as long as you explain what the important parts of your code do. You can also explain it line by line for best ratings. Thank you so...



C++
Please explain the code below.


It doesn't have to be long, as long as you explain what the important parts of your code do. You can also explain it line by line for best ratings. Thank you so much!


#include
#include "linkedlist.h"


void bubbleSort(List*);
void selectionSort(List*);
void insertionSort(List*);


int main(void) {
    char li;
    cin >> li;

    List* list;
    if (li == 'A') {
      list = new ArrayList();
    } else {
      list = new LinkedList();
    }

    int length;
    cin >> length;

    int input;
    for (int i = 0; i < length;="" i++)="">
      cin >> input;
      list->add(input);
    }
    list->print();
    char sym;
    cin >> sym;

    switch (sym) {
      case 'B':
        bubbleSort(list);
        break;
      case 'I':
        insertionSort(list);
        break;
      case 'S':
        selectionSort(list);
        break;
    }
    return 0;
};




//Perform two of three sorting algorithms here.
//Reminder: Do not use methods specific to Array or Linked List.
void bubbleSort(List* list) {
  int size = list->size();
  int check = 1;
  while(check){
    check = 0;
    for(int i =0; i
      if (list->get(i) > list->get(i+1)){
        list->swap(i, i+1);
        list->print();
        check = 1;
      }
    }
  }
};


void selectionSort(List* list) {
  int size = list->size();
  for(int i = 1; i <= size;="" i++)="">
    int smallest = list -> get(i);
    int count = 0;
      for (int j = i+1; j <= size;j++="" )="">
        if(smallest > list->get(j)) {
          smallest = list->get(j);
          count = j;
        }
      }
      if (count != 0) {
        list->swap(i,count);
        list->print();
    }
  }
};


void insertionSort(List* list) {
  int size = list->size();
  for(int curr = 2; curr <= size;="">
    int key = list->get(curr);
    int compare = curr-1;

    while(key < list-="">get(compare) && compare > 0){
        list -> swap(compare, curr);
        list -> print();
        compare--;
        curr--;
    }
  }
};

Jun 11, 2022
SOLUTION.PDF

Get Answer To This Question

Related Questions & Answers

More Questions »

Submit New Assignment

Copy and Paste Your Assignment Here