|
|
|
Список в С.
|
|||
|---|---|---|---|
|
#18+
есть структура . Код: plaintext 1. 2. 3. 4. 5. 6. 7. можно организовать список со вставкой и удалением элементов списка. а если я хочу вставить список в эту структуру. возможно ли такое? Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.03.2016, 12:28 |
|
||
|
Список в С.
|
|||
|---|---|---|---|
|
#18+
я имею в виду вставить список других элеметов Код: plaintext 1. 2. 3. 4. 5. 6. 7. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.03.2016, 12:36 |
|
||
|
Список в С.
|
|||
|---|---|---|---|
|
#18+
jenya7, дерево строишь? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.03.2016, 12:48 |
|
||
|
Список в С.
|
|||
|---|---|---|---|
|
#18+
Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. только я не понял зачем вообще struct child идентичная struct parent, можно просто Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.03.2016, 12:49 |
|
||
|
Список в С.
|
|||
|---|---|---|---|
|
#18+
Dima T[src C++] только я не понял зачем вообще struct child идентичная struct parent, можно просто это для примера. на самом деле конечно child будет отличный от parent. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.03.2016, 13:00 |
|
||
|
Список в С.
|
|||
|---|---|---|---|
|
#18+
Изопропилjenya7, дерево строишь? вряд ли это дерево. это как есть список контактов в адресной книге и у каждого контакта есть список детей. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.03.2016, 13:03 |
|
||
|
Список в С.
|
|||
|---|---|---|---|
|
#18+
а вот интересно. при вставке нового элемента он должен быть глобальным? а если его еще нет? скажем адресная книга. есть список контактов в адресной книге и у каждого контакта есть список детей - это второй список. но пользователь еще не ввел данные – реально элемента не существует. теперь пользователь ввел данные - я создал элемент (контакт) - но он локальный. куда будет указывать next? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.03.2016, 14:15 |
|
||
|
Список в С.
|
|||
|---|---|---|---|
|
#18+
что значит "глобальный" и "локальный" ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.03.2016, 14:19 |
|
||
|
Список в С.
|
|||
|---|---|---|---|
|
#18+
Почитай про связные списки ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.03.2016, 14:21 |
|
||
|
Список в С.
|
|||
|---|---|---|---|
|
#18+
jenya7а можно без malloc? malloc в эмбедед это не хорошо. ну будет другая функция выделения памяти. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.03.2016, 14:33 |
|
||
|
Список в С.
|
|||
|---|---|---|---|
|
#18+
jenya7Dima TПочитай про связные списки а можно без malloc? malloc в эмбедед это не хорошо. Можно, делай свой менеджер памяти. Например сделай заранее массив с запасом и как-то храни какие ячейки пустые, какие заняты. Как вариант: все в начале заняты и указатель на первый пустой элемент. Все после него пустые. Добавление - легко, при удалении переместить последний на место удаляемого. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.03.2016, 14:35 |
|
||
|
Список в С.
|
|||
|---|---|---|---|
|
#18+
Dima Tjenya7пропущено... а можно без malloc? malloc в эмбедед это не хорошо. Можно, делай свой менеджер памяти. Например сделай заранее массив с запасом и как-то храни какие ячейки пустые, какие заняты. Как вариант: все в начале заняты и указатель на первый пустой элемент. Все после него пустые. Добавление - легко, при удалении переместить последний на место удаляемого. это как раз то что нужно. а можно пример? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.03.2016, 15:01 |
|
||
|
Список в С.
|
|||
|---|---|---|---|
|
#18+
Как-то так Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.03.2016, 15:14 |
|
||
|
Список в С.
|
|||
|---|---|---|---|
|
#18+
Чуть напутал, последний элемент 99й Код: plaintext 1. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.03.2016, 15:17 |
|
||
|
Список в С.
|
|||
|---|---|---|---|
|
#18+
Тут можешь вместо указателя (struct parent*) хранить индекс массива (0,1,2 и т.д.), тогда список целиком можно будет без изменений копировать в другой массив или в файл. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.03.2016, 15:25 |
|
||
|
Список в С.
|
|||
|---|---|---|---|
|
#18+
Dima TКак-то так Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. это как раз то что нужно. а вставка и поиск как будут происходить? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.03.2016, 15:37 |
|
||
|
Список в С.
|
|||
|---|---|---|---|
|
#18+
jenya7это как раз то что нужно. а вставка и поиск как будут происходить? Как со списком. То что я выше написал - это пример замены штатного malloc(), остальное остается как было. Использовать как-то так Код: plaintext 1. 2. 3. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.03.2016, 15:48 |
|
||
|
Список в С.
|
|||
|---|---|---|---|
|
#18+
а если я удаляю элемент в середине - что делать? сдвигать все элементы влево? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.03.2016, 15:48 |
|
||
|
Список в С.
|
|||
|---|---|---|---|
|
#18+
jenya7а если я удаляю элемент в середине - что делать? сдвигать все элементы влево? Зачем все? Только последний на место удаляемого. Читай внимательно, я это уже писал. В т.ч. в коде предусмотрел, там только добавить правку ссылки на переносимый элемент из элемента, который на него ссылается и замена ссылки на удаляемый на следующий за ним. Если сделаешь двунаправленный список, то это просто. В однонаправленном - перебором всех элементов. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.03.2016, 15:53 |
|
||
|
Список в С.
|
|||
|---|---|---|---|
|
#18+
ИМХУ сделай сначала с использованием стандартных malloc()/free(), отлать чтобы нормально работало, затем заменишь на массив с my_malloc()/my_free(). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.03.2016, 15:57 |
|
||
|
|

start [/forum/topic.php?fid=16&msg=39185043&tid=1340776]: |
0ms |
get settings: |
7ms |
get forum list: |
13ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
159ms |
get topic data: |
7ms |
get forum data: |
2ms |
get page messages: |
50ms |
get tp. blocked users: |
1ms |
| others: | 233ms |
| total: | 478ms |

| 0 / 0 |
