Форум программистов, компьютерный форум, киберфорум
JavaScript
Войти
Регистрация
Восстановить пароль
 
Рейтинг 5.00/3: Рейтинг темы: голосов - 3, средняя оценка - 5.00
35 / 35 / 15
Регистрация: 06.01.2014
Сообщений: 707
1

структурированный список

09.01.2014, 17:38. Просмотров 561. Ответов 2
Метки нет (Все метки)

Привет. Пытаюсь сделать структурированный список. Не получается записывать в определенный элемент сдедующий ему по списку. Комментами отмечены не рабочие строки. Подскажите как это можно реализовать.

Javascript
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
var object = {
    length : 0,
    key : []
};
 
object.add = function(a) {
    len = object.length;
    var newObj = new List();
    newObj.value = a;
    if (len > 0){
        old = object.key[len];
        next = newObj;
        newObj.next(old, next);//??????????
    }
    object.key[len] = newObj;
    len++;
    object.length = len;
    
    return newObj;
}
object.len = function(){
    return object.length;
}
object.keyid = function(n){
    return object.key[n];
}
object.next = function(obj){
    return obj.next;
}
object.previous = function(obj){
    return obj.previous;
}
object.first = function(){
    return object.key[0];
}
object.last = function(){
    return object.key[object.length];
}
object.get = function(obj){
    return obj.value;
}
 
object.add(2);
object.add(3);
object.add(4);
object.add(5);
 
function List() {
    this.id = this;
    this.previous = null;
    this.next =  null;
    this.value = null;
}
List.prototype = {
    next : function (old, next){ //????????
        old.next = next;//?????????
    }//?????????
}
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
09.01.2014, 17:38
Ответы с готовыми решениями:

Структурированный алгоритм
Пожалуйста,помогите с алгоритмом к этой проге. (нужен стрктурированный алгоритм) #include...

структурированный тип
задан текст,не более 255 символов .проверить является ли этот текст полендромом.(без учета пробелов...

Структурированный тип данных
Помогите плиз)задачка вроде легкая.Заполните случайным образом вектор из 5 элементов типа “цвет”.

Структурированный в объектно-ориентированный
Доброго времени суток! В чем собственно моя проблема. Есть задание курсовой роботы (миниатюры),...

2
Эксперт по математике/физике
4131 / 2036 / 419
Регистрация: 19.07.2009
Сообщений: 3,084
Записей в блоге: 23
09.01.2014, 23:42 2
Я плохо понимаю, что Вы хотите сделать, но могу предложить некие варианты:

Прежде всего следует убрать строку this.next = null, потому что она закрывает одноименный метод из прототипа.

Разберитесь, что должно быть в переменной old, потому что в Вашем скрипте это заведомо null.

Ещё: зачем Вам поле length, если по своей сути objects выражен данными из key (не считая методов)?
Ещё: зачем Вам столько функций, которые дублируют поля? Например, objects.previous(obj) вместо obj.previous.
1
35 / 35 / 15
Регистрация: 06.01.2014
Сообщений: 707
10.01.2014, 10:07  [ТС] 3
Length это количество объектов.
По-моему быстрее выполнится обращение к переменной, чем получение длины массива.
Имена функций - для понимания их работы. Не нравятся сокращения типа "prev", а к сокращению "len" привык)

Вот дописанный вариант работы со структурированным списком, к которому я привык из PureBasic.
Javascript
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
var object = {
    length : 0,
    key : []
};
 
object.add = function() {
    len = object.length;
    var newObj = new List();
    if (len > 0){
        old = object.key[len - 1];
        next = newObj;
        old.next = newObj;
    }
    object.key[len] = newObj;
    len++;
    object.length = len;
    
    return newObj;
}
object.len = function(){
    return object.length;
}
object.keyid = function(n){
    return object.key[n];
}
object.next = function(obj){
    return obj.next;
}
object.previous = function(obj){
    return obj.previous;
}
object.first = function(){
    return object.key[0];
}
object.last = function(){
    return object.key[object.length];
}
 
//now = object.first();
//while (now){
//  alert(object.get(now));
//  now = object.next(now);
//}
 
function List() {
    this.id = this;
    this.previous = null;
    this.next =  null;
    //параметры
    
    //тип позиционирования
    this.position;
    //позиция
    this.left;
    this.right;
    this.top;
    this.bottom;
    //размеры
    this.width;
    this.height;
    //фон
    this.background;
    this.background_color;
    this.background_image;
    //отступ
    this.margin;
    this.margin_left;
    this.margin_right;
    this.margin_top;
    this.margin_bottom; 
}
Добавлено через 4 минуты
Тему создал из-за не внимательности.
В строке 10 надо было от len отнять 1, без чего не получалось обращаться к объекту из List. Тогда нет необходимости использовать прототипы.
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
10.01.2014, 10:07

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь.

Структурированный ввод данных
Доброго времени суток Изучаю "access", поэтому ни разу не шайтан в программировании. Итак задача:...

Структурированный в объектно-ориентированный
Доброго времени суток! программу надо написать двумя способами, используя структурированный подход...

Сделать понятный и структурированный файл
Вот есть код в css который записан одной сплошной строкой, я думаю что есть плагины или функции в...

Структурированный тип: файлы данных
Сделайте пожалуйства задачку, буду очень благодарен... просто я в этом не разбираюсь...:((( ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2020, vBulletin Solutions, Inc.