J'ai une liste de données de type chaîne. 10,20,30 sont les numéros de ligne
10. string 1
20. string 2
30. string 3
et si l'utilisateur tape "23 string data". 23 est le numéro de la ligne dans laquelle l'utilisateur veut s'insérer. Les données devraient devenir comme ceci
10. string 1
20. string 2
23. string data
30. string 3
et si l'utilisateur tape "40 string data". Les données devraient devenir comme ceci
10. string 1
20. string 2
23. string data
30. string 3
40. string data
Je suis relativement nouveau dans la structure de données du C. Quelle structure de données dois-je utiliser pour stocker efficacement ce type de données ? ? Ma direction actuelle est d'implémenter un tableau dynamique ou une liste liée. Cependant, voici la liste des problèmes que j'ai rencontrés.
Problème avec le tableau dynamique :
- En utilisant le numéro de ligne comme index et en créant un espace suffisant pour pour s'assurer que la longueur du tableau est toujours égale ou supérieure au numéro de de ligne le plus élevé. Gaspiller beaucoup de mémoire pour un index non utilisé.
- L'impression des données serait un problème. Par exemple, l'index 0-9 n'a pas de mémoire allouée. Y accéder entraînerait une erreur. Vous devez trouver des moyens de savoir quels index sont utilisés ?
Problème avec la liste liée :
- Je ne peux pas sauter l'index (pas sûr). Comment identifier la ligne qui vient après une autre et insérer facilement la ligne intermédiaire ?