Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 16.08.2008, 18:11
mixa
 
Сообщений: n/a

сортировка по алфавиту
Привет.Я хожу на курсы по 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-кодами для оформления листингов кода в теле сообщения.
Ответить с цитированием
  #2 (permalink)  
Старый 16.08.2008, 20:35
Флудер
Отправить личное сообщение для ZoNT Посмотреть профиль Найти все сообщения от ZoNT
 
Регистрация: 25.07.2008
Сообщений: 1,271

Сначала мы будем за тебя домашку делать, а потом за тебя работу делать???

Нет уж...
До чего же люди офигели все. Уже учиться сами не хотят...
Ответить с цитированием
  #3 (permalink)  
Старый 16.08.2008, 20:47
Новичок на форуме
Отправить личное сообщение для Kolyaj Посмотреть профиль Найти все сообщения от Kolyaj
 
Регистрация: 19.02.2008
Сообщений: 9,177

Странные у вас курсы, таким вещам не на JavaScript надо учиться. Хотя бы потому, что в JavaScript есть стандартная функция сортировки. Если хотите научиться основам программирования, учите Си.
Ответить с цитированием
  #4 (permalink)  
Старый 16.08.2008, 21:40
Отправить личное сообщение для Андрей Параничев Посмотреть профиль Найти все сообщения от Андрей Параничев
 
Регистрация: 21.02.2008
Сообщений: 1,250

mixa,
Почитайте в интернете про сортировку "пузырьком", если понять принцип её работы, то вы легко отсортируете этот список, используя вместо элементов массива - nodeList.
Ответить с цитированием
  #5 (permalink)  
Старый 16.08.2008, 21:58
Новичок на форуме
Отправить личное сообщение для Kolyaj Посмотреть профиль Найти все сообщения от Kolyaj
 
Регистрация: 19.02.2008
Сообщений: 9,177

Сообщение от Андрей Параничев
Почитайте в интернете про сортировку "пузырьком"
Дональд Кнут "Искусство программирования", том 3, "Поиск и сортировка"

Сообщение от mixa
<!-- Ваш броузер не поддерживает javascript !
Зачем эта фраза? Пользователи ее никогда не увидят.
Ответить с цитированием
  #6 (permalink)  
Старый 16.08.2008, 22:59
jeka
 
Сообщений: n/a

Сообщение от Kolyaj Посмотреть сообщение
Дональд Кнут "Искусство программирования", том 3, "Поиск и сортировка"


Зачем эта фраза? Пользователи ее никогда не увидят.
_______________________________________________
На даный момент еще есть броузеры не поддерживающие скриптов, и весь код скрипта в них выводится на экран в виде текста и или вдруг отключена функция. Чтобы этого не происходило рекомендуется весь код скрипта размещать между коментариями HTML - "<!-- //-->". Броузеры, которые понимают скрипт, коментарии просто игнорируют
Ответить с цитированием
  #7 (permalink)  
Старый 16.08.2008, 23:02
mixa
 
Сообщений: n/a

Я с этим примером долго уже долбусь, вот прошу помочь как сделать,а не ....!!!
Ответить с цитированием
  #8 (permalink)  
Старый 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>
Ответить с цитированием
  #9 (permalink)  
Старый 16.08.2008, 23:48
Новичок на форуме
Отправить личное сообщение для Kolyaj Посмотреть профиль Найти все сообщения от Kolyaj
 
Регистрация: 19.02.2008
Сообщений: 9,177

jeka, прочитайте вопрос повнимательнее, я не спрашивал, зачем комментарий.
Ответить с цитированием
  #10 (permalink)  
Старый 17.08.2008, 08:43
mixa
 
Сообщений: n/a

огромное спасибо!!!
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск