|
16.08.2008, 18:11
|
|
сортировка по алфавиту
Привет.Я хожу на курсы по JavaScript.Задали домашку: В первом примере (на swapNode()) мы просто меняем два элемента местами. Давайте немного усложним задание. Организуйте сортировку списка по алфавиту. Да, вроде бы короткая формулировка задания, но над ним придётся немного подумать.
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML>
<HEAD>
<meta http-equiv="Content-Type" content="text/html; charset=КОИ8-Р">
<META name="keywords" content="">
<meta name="description" content="">
<META name="author" content="Тетерин Роман Юрьевич">
<title>Примерчик</title>
<script type="text/javascript">
<!-- Ваш броузер не поддерживает javascript !
window.resizeTo(screen.availWidth,screen.availHeight);
function func()
{
var ul=document.getElementById('ul-1');
var li0=ul.childNodes[0];
var li1=ul.childNodes[1];
li0.swapNode(li1);
li2.swapNode(li1);
}
//-->
</script>
</HEAD>
<body>
<ul id="ul-1">
<li>Первый элемент</li>
<li>Второй элемент</li>
<li>Третий элемент</li>
</ul>
<button onclick="func()" >
Поменять элементы местами
</button>
<script type="text/javascript">
<!-- Ваш броузер не поддерживает javascript !
//-->
</script>
</body>
</html>
Помогите кто может !!!
Последний раз редактировалось Андрей Параничев, 16.08.2008 в 18:55.
Причина: Пользуйтесь bb-кодами для оформления листингов кода в теле сообщения.
|
|
16.08.2008, 20:35
|
Флудер
|
|
Регистрация: 25.07.2008
Сообщений: 1,271
|
|
Сначала мы будем за тебя домашку делать, а потом за тебя работу делать???
Нет уж...
До чего же люди офигели все. Уже учиться сами не хотят...
|
|
16.08.2008, 20:47
|
Новичок на форуме
|
|
Регистрация: 19.02.2008
Сообщений: 9,177
|
|
Странные у вас курсы, таким вещам не на JavaScript надо учиться. Хотя бы потому, что в JavaScript есть стандартная функция сортировки. Если хотите научиться основам программирования, учите Си.
|
|
16.08.2008, 21:40
|
|
|
Регистрация: 21.02.2008
Сообщений: 1,250
|
|
mixa,
Почитайте в интернете про сортировку "пузырьком", если понять принцип её работы, то вы легко отсортируете этот список, используя вместо элементов массива - nodeList.
|
|
16.08.2008, 21:58
|
Новичок на форуме
|
|
Регистрация: 19.02.2008
Сообщений: 9,177
|
|
Сообщение от Андрей Параничев
|
Почитайте в интернете про сортировку "пузырьком"
|
Дональд Кнут "Искусство программирования", том 3, "Поиск и сортировка"
Сообщение от mixa
|
<!-- Ваш броузер не поддерживает javascript !
|
Зачем эта фраза? Пользователи ее никогда не увидят.
|
|
16.08.2008, 22:59
|
|
Сообщение от Kolyaj
|
Дональд Кнут "Искусство программирования", том 3, "Поиск и сортировка"
Зачем эта фраза? Пользователи ее никогда не увидят.
|
_______________________________________________
На даный момент еще есть броузеры не поддерживающие скриптов, и весь код скрипта в них выводится на экран в виде текста и или вдруг отключена функция. Чтобы этого не происходило рекомендуется весь код скрипта размещать между коментариями HTML - "<!-- //-->". Броузеры, которые понимают скрипт, коментарии просто игнорируют
|
|
16.08.2008, 23:02
|
|
Я с этим примером долго уже долбусь, вот прошу помочь как сделать,а не ....!!!
|
|
16.08.2008, 23:16
|
|
|
Регистрация: 21.02.2008
Сообщений: 1,250
|
|
mixa,
А не что? Поаккуратнее с выражениями.
Вот пример сортировки пузырьком, но он работает только в IE.
<script>
function func()
{
var ul = document.getElementById('ul-1');
var num = ul.childNodes.length;
for(var i = num-1; i > 0; i--)
{
for(var j = 0 ; j < i ; j++)
{
if( ul.childNodes[j].innerHTML > ul.childNodes[j+1].innerHTML ) {
ul.childNodes[j].swapNode(ul.childNodes[j+1]);
}
}
}
}
</script>
<body>
<ul id="ul-1">
<li>Б. Первый элемент</li>
<li>В. Второй элемент</li>
<li>А. Третий элемент</li>
<li>Р. Третий элемент</li>
<li>С. Третий элемент</li>
<li>Ц. Третий элемент</li>
<li>П. Третий элемент</li>
</ul>
<button onclick="func()" >
Отсортировать элементы
</button>
</body>
|
|
16.08.2008, 23:48
|
Новичок на форуме
|
|
Регистрация: 19.02.2008
Сообщений: 9,177
|
|
jeka, прочитайте вопрос повнимательнее, я не спрашивал, зачем комментарий.
|
|
17.08.2008, 08:43
|
|
огромное спасибо!!!
|
|
|
|