Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
Базовые структуры данных
|
|||
|---|---|---|---|
|
#18+
Всем доброго дня. День назад начал изучать С++, и вот сегодня решил написать базовые структуры данных, используя классы. Буду выкладывать на форум что пишу, очень буду рад критикам и указаниям на ошибки, а так же предложениям о том как более изящно оформить код. Нус, начнём... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.07.2013, 21:38 |
|
||
|
Базовые структуры данных
|
|||
|---|---|---|---|
|
#18+
Реализация динамического двусвязного списка, с несколько модифицированным методом поиска. при выполнении функции find(k), указателю post присваивается адрес элемента с ключом k. С элементом можно оперировать с помощью функций членов posdel, posget и posset. Код: plaintext 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. 72. 73. 74. 75. 76. 77. 78. 79. 80. 81. 82. 83. 84. 85. 86. 87. 88. 89. 90. 91. 92. 93. 94. 95. 96. 97. 98. 99. 100. 101. 102. 103. 104. 105. 106. 107. 108. 109. 110. 111. 112. 113. 114. 115. 116. 117. 118. 119. 120. 121. 122. 123. 124. 125. 126. 127. 128. 129. 130. 131. 132. 133. 134. 135. 136. 137. 138. 139. 140. 141. 142. 143. 144. 145. 146. 147. 148. 149. 150. 151. 152. 153. 154. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.07.2013, 23:55 |
|
||
|
Базовые структуры данных
|
|||
|---|---|---|---|
|
#18+
aybek_Реализация динамического двусвязного списка, с несколько модифицированным методом поиска. при выполнении функции find(k), указателю post присваивается адрес элемента с ключом k. С элементом можно оперировать с помощью функций членов posdel, posget и posset. Очень не стоит давать такие имена. Через пару недель сам будешь гадать что это за методы такие. Код: plaintext 1. А почему это вдруг? А если я хочу удалить все элементы из списка и получить пустой список? Убери main() из этого файла. Привыкай к модульной системе: один класс один файл. Исключения из этого правила бывают, но чрезвычайно редко. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.07.2013, 00:28 |
|
||
|
Базовые структуры данных
|
|||
|---|---|---|---|
|
#18+
aybek_, а должен ли двусвязный список обладать "текущей" позицией? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.07.2013, 06:51 |
|
||
|
Базовые структуры данных
|
|||
|---|---|---|---|
|
#18+
Изопропилaybek_, а должен ли двусвязный список обладать "текущей" позицией? Вот и я подумал, среди базовых операций над двусвязным списком присутствует операция вставки в середину списка, как реализовать это я не знал, ну и в конце концов пришел в тому, что вот создал указатель (post) и решил перемещать его по списку, редактируя элементы на которые он указывает. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.07.2013, 08:05 |
|
||
|
Базовые структуры данных
|
|||
|---|---|---|---|
|
#18+
White OwlОчень не стоит давать такие имена. Через пару недель сам будешь гадать что это за методы такие. Да, это точно ). А какие имена обычно дают? White Owl Код: plaintext 1. А почему это вдруг? А если я хочу удалить все элементы из списка и получить пустой список? Гм... Об этом я не подумал... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.07.2013, 08:16 |
|
||
|
Базовые структуры данных
|
|||
|---|---|---|---|
|
#18+
aybek_А какие имена обычно дают? std::list посмотри ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.07.2013, 08:27 |
|
||
|
Базовые структуры данных
|
|||
|---|---|---|---|
|
#18+
aybek_Реализация динамического двусвязного списка, с несколько модифицированным методом поиска. Обычно такие классы делают шаблонными, и тип хранимого в списке значения является параметром шаблона. Также странно называть значение, хранящиеся в списке, 'key'. Это не key, это value. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.07.2013, 13:03 |
|
||
|
Базовые структуры данных
|
|||
|---|---|---|---|
|
#18+
aybek_, snode* post; // текущее положение Текущее положение в самом списке ненужн'о. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.07.2013, 13:04 |
|
||
|
Базовые структуры данных
|
|||
|---|---|---|---|
|
#18+
Изопропилaybek_, а должен ли двусвязный список обладать "текущей" позицией? У него не совсем чистый список, а как бы список со встроенным итератором по нему. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.07.2013, 13:06 |
|
||
|
Базовые структуры данных
|
|||
|---|---|---|---|
|
#18+
Вообще, получается нереинтерантный список. Плохо. Может использоваться только в одном потоке. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.07.2013, 13:08 |
|
||
|
Базовые структуры данных
|
|||
|---|---|---|---|
|
#18+
Код: plaintext 1. 2. 3. 4. 5. 6. 7. Обычно начало и конец списков называют в литературе "голова" (head) и "хвост" (tail), а не верх и низ. В С++ в стандартной библиотеке они называются front и back. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.07.2013, 13:10 |
|
||
|
Базовые структуры данных
|
|||
|---|---|---|---|
|
#18+
MasterZivУ него не совсем чистый список, а как бы список со встроенным итератором по нему. это и нехорошо MasterZivМожет использоваться только в одном потоке. да и в одном потоке более одного итератора может потребоваться ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.07.2013, 14:09 |
|
||
|
|

start [/forum/topic.php?fid=57&msg=38335444&tid=2020086]: |
0ms |
get settings: |
10ms |
get forum list: |
14ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
164ms |
get topic data: |
9ms |
get forum data: |
3ms |
get page messages: |
50ms |
get tp. blocked users: |
1ms |
| others: | 14ms |
| total: | 273ms |

| 0 / 0 |
