Эффективные методы сортировки HTML-тегов в начале массива

Метод 1: пользовательская функция сравнения
Один из способов сортировки HTML-тегов в начале массива — использование пользовательской функции сравнения. Эта функция будет отдавать приоритет HTML-тегам над другими элементами. Вот пример на JavaScript:

function sortByHTMLTags(array) {
  function compare(a, b) {
    if (a.startsWith("<") && !b.startsWith("<")) {
      return -1; // Move a to a lower index
    } else if (!a.startsWith("<") && b.startsWith("<")) {
      return 1; // Move b to a lower index
    } else {
      return 0; // Maintain the relative order
    }
  }

  return array.sort(compare);
}
// Usage example
const tagsArray = [
  "<div>",
  "text1",
  "<p>",
  "text2",
  "<h1>",
  "<span>",
];
const sortedArray = sortByHTMLTags(tagsArray);
console.log(sortedArray);

Метод 2: метод секционирования
Другой подход заключается в использовании метода секционирования в сочетании с алгоритмом сортировки, например QuickSort. Этот метод позволяет переместить все теги HTML в начало массива. Вот пример на Python: