|
Вставка записи в дерево
|
|||
---|---|---|---|
#18+
Есть такое дерево: Код: plsql 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. 155. 156. 157. 158. 159. 160. 161. 162. 163. 164. 165. 166. 167. 168. 169. 170. 171. 172. 173. 174. 175. 176. 177. 178. 179. 180. 181. 182. 183. 184. 185. 186. 187. 188. 189.
Нужно вставить новый узел в произвольное место. Если кто-то решал такую задачу, то поделитесь, пожалуйста, решением. ... |
|||
:
Нравится:
Не нравится:
|
|||
21.12.2020, 11:02 |
|
Вставка записи в дерево
|
|||
---|---|---|---|
#18+
Pastic Нужно вставить новый узел в произвольное место. Если кто-то решал такую задачу, то поделитесь, пожалуйста, решением. Ставишь курсор на конец строки, нажимаешь клавишу ENTER и печатаешь свою строку. ... |
|||
:
Нравится:
Не нравится:
|
|||
21.12.2020, 11:27 |
|
Вставка записи в дерево
|
|||
---|---|---|---|
#18+
AlexFF__| Pastic Нужно вставить новый узел в произвольное место. Если кто-то решал такую задачу, то поделитесь, пожалуйста, решением. Ставишь курсор на конец строки, нажимаешь клавишу ENTER и печатаешь свою строку. Там ещё нужно менять нумерацию сдвигаемых узлов. ... |
|||
:
Нравится:
Не нравится:
|
|||
21.12.2020, 11:36 |
|
Вставка записи в дерево
|
|||
---|---|---|---|
#18+
AlexFF__|, имхо напр вставить после 8.2 8.3 станет 8.4 8.4 станет 8.5 8.5 станет 8.6 и тд зы готового нет update .. like ... and >= ..... stax ... |
|||
:
Нравится:
Не нравится:
|
|||
21.12.2020, 11:38 |
|
Вставка записи в дерево
|
|||
---|---|---|---|
#18+
Pastic Нужно вставить новый узел в произвольное место Например, для приведённого набора, что это означает для узла Код: plsql 1.
? ... |
|||
:
Нравится:
Не нравится:
|
|||
21.12.2020, 11:59 |
|
Вставка записи в дерево
|
|||
---|---|---|---|
#18+
т.е. надо ли дополнительно к нему добавлять узлы 1.7, 1.8, 1.8.1 .. 1.8.16, 1.8.16.1 .. 1.8.16.254 ? ... |
|||
:
Нравится:
Не нравится:
|
|||
21.12.2020, 12:00 |
|
Вставка записи в дерево
|
|||
---|---|---|---|
#18+
Stax AlexFF__|, имхо напр вставить после 8.2 8.3 станет 8.4 8.4 станет 8.5 8.5 станет 8.6 и тд зы готового нет update .. like ... and >= ..... stax Зачем? Надо вставить между 8.2 и 8.2.1 => вставляешь 8.2.0.1 ... |
|||
:
Нравится:
Не нравится:
|
|||
21.12.2020, 12:11 |
|
Вставка записи в дерево
|
|||
---|---|---|---|
#18+
env т.е. надо ли дополнительно к нему добавлять узлы 1.7, 1.8, 1.8.1 .. 1.8.16, 1.8.16.1 .. 1.8.16.254 ? Нет. Задача ставится так: вставляется узел вместо текущего. При этом нумерация текущего узла и нижележащих сдвигается. То есть, например, на место 7.5 вставляется новый узел. Тогда старый 7.5 становится 7.6 и т.д. А при добавлении нового узла внизу нумерация проставляется автоматически на том же уровне. То есть, если надо вставить 10.7, то этот узел вставляется на том уровне, где находится 10.6, а если надо добавить узел 11, то он вставляется на том уровне, где находится узел 10. ... |
|||
:
Нравится:
Не нравится:
|
|||
21.12.2020, 12:16 |
|
Вставка записи в дерево
|
|||
---|---|---|---|
#18+
Pastic, Переходите на хранение иерархии в структуре parent-child, тогда задача упрощается на порядок. ... |
|||
:
Нравится:
Не нравится:
|
|||
21.12.2020, 12:34 |
|
Вставка записи в дерево
|
|||
---|---|---|---|
#18+
Pastic Нужно вставить новый узел в произвольное место. Если кто-то решал такую задачу, то поделитесь, пожалуйста, решением. Что-то типа: Код: plsql 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.
Если производительность не так важна то можно упростить используя regexp_substr вместо substr/instr. Результаты: Код: plsql 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. 155. 156. 157. 158. 159. 160. 161. 162. 163. 164. 165. 166. 167. 168. 169. 170. 171. 172. 173. 174. 175. 176. 177. 178. 179. 180. 181. 182. 183. 184. 185. 186. 187. 188. 189. 190. 191. 192. 193. 194. 195. 196. 197. 198. 199. 200. 201. 202. 203. 204. 205. 206. 207. 208. 209. 210. 211. 212. 213. 214. 215. 216. 217. 218. 219. 220. 221. 222. 223. 224. 225. 226. 227. 228. 229. 230. 231. 232. 233. 234. 235. 236. 237. 238. 239. 240. 241. 242. 243. 244. 245. 246. 247. 248. 249. 250. 251. 252. 253. 254. 255. 256. 257. 258. 259. 260. 261. 262. 263. 264. 265. 266. 267. 268. 269. 270. 271. 272. 273. 274. 275. 276. 277. 278. 279. 280. 281. 282. 283. 284. 285. 286. 287. 288. 289. 290. 291. 292. 293. 294. 295. 296. 297. 298. 299. 300. 301. 302. 303. 304. 305. 306. 307. 308. 309. 310. 311. 312. 313. 314. 315. 316. 317. 318. 319. 320. 321. 322. 323. 324. 325. 326. 327. 328. 329. 330. 331. 332. 333. 334. 335. 336. 337. 338. 339. 340. 341. 342. 343. 344. 345. 346. 347. 348. 349. 350. 351. 352. 353. 354. 355. 356. 357. 358. 359. 360. 361. 362. 363. 364. 365. 366. 367. 368. 369. 370. 371. 372. 373. 374. 375. 376. 377. 378. 379. 380. 381. 382. 383. 384. 385. 386. 387. 388. 389. 390. 391. 392. 393. 394. 395. 396. 397. 398. 399. 400. 401. 402.
SY. ... |
|||
:
Нравится:
Не нравится:
|
|||
21.12.2020, 15:37 |
|
Вставка записи в дерево
|
|||
---|---|---|---|
#18+
SY, большое спасибо. Вот так работает (с regexp_replace): Код: plsql 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. 155. 156. 157. 158. 159. 160. 161. 162. 163. 164. 165. 166. 167. 168. 169. 170. 171. 172. 173. 174. 175. 176. 177. 178. 179. 180. 181. 182. 183. 184. 185. 186. 187. 188. 189. 190. 191. 192. 193. 194. 195. 196. 197. 198. 199. 200. 201. 202. 203. 204. 205. 206. 207. 208. 209. 210. 211. 212. 213. 214. 215. 216. 217. 218. 219. 220. 221. 222. 223. 224. 225. 226. 227. 228. 229. 230. 231. 232. 233. 234. 235. 236. 237. 238. 239. 240. 241.
... |
|||
:
Нравится:
Не нравится:
|
|||
21.12.2020, 15:51 |
|
Вставка записи в дерево
|
|||
---|---|---|---|
#18+
Pastic Вот так работает (с regexp_replace): Сказав A скажи и Б: Код: plsql 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.
SY. ... |
|||
:
Нравится:
Не нравится:
|
|||
21.12.2020, 16:54 |
|
|
start [/forum/topic.php?fid=52&fpage=29&tid=1880582]: |
0ms |
get settings: |
10ms |
get forum list: |
13ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
40ms |
get topic data: |
12ms |
get forum data: |
3ms |
get page messages: |
50ms |
get tp. blocked users: |
2ms |
others: | 266ms |
total: | 404ms |
0 / 0 |