Метод 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: