Qual a diferença entre o QuickSort e o BubbleSort?

Quick sort usa de um "dummy"/pivot para ordenar os arrays puxando tudo que for menor para a esquerda e tudo que foi maior para a direita

O bubble sort faz multipla interações pelo array, verificando se um valor (vamos chamar agora de array[i] é maior que array[i+1] (o proximo), se o array[i] é maior que array[i+1] nos colocamos que array[i] é array[i+1] e vice versa. (ou seja, trocamos os dois valores de lugar)

um pseudo codigo (em js)

// modifica o array
function bubble(arr){
 while(true){
  let sorted = true;
  for(let i=0;i<arr.length;i++){
   if(arr[i] > arr[i+1]){
    sorted = false;
    // gambiarra para trocar os valores
    [arr[i], arr[i+1]] = [arr[i+1], arr[i]];
   }
  }
  if(sorted) break;
 }
 return arr;
}