[ಸಂಗೀತ] ಡೌಗ್ LLOYD: ಸರಿ, ಆದ್ದರಿಂದ ಸಹಜವಾಗಿ ಈ ಹಂತದಲ್ಲಿ, ಸಿ ಮೂಲಭೂತ ಬಹಳಷ್ಟು ಒಳಗೊಂಡಿದೆ ಬಂದಿದೆ ನಾವು ಅಸ್ಥಿರ ರಚನೆಗಳು ಬಗ್ಗೆ ಸಾಕಷ್ಟು ತಿಳಿದಿರುವ ಪಾಯಿಂಟರ್ಸ್, ಎಲ್ಲಾ ಒಳ್ಳೆಯ ವಿಷಯ. ಆ ಎಲ್ಲಾ ರೀತಿಯ ನಿರ್ಮಾಣಗೊಂಡಿವೆ ರಲ್ಲಿ, ಮೂಲಭೂತ ಎಂದು ನೋಡಲು ಆದರೆ ನಾವು, ಹೆಚ್ಚು ಮಾಡಬಹುದು? ನಾವು ವಸ್ತುಗಳ ಒಂದುಗೂಡಿಸಬಹುದು ಒಟ್ಟಿಗೆ ಕುತೂಹಲಕರ ವಿಧಾನಗಳಲ್ಲಿ. ಆದ್ದರಿಂದ ತಂದೆಯ ಆರಂಭಿಸಲು ಅವಕಾಶ, ನ ಹಾಗೆ ಅವಕಾಶ ಸಿ ನಮಗೆ ನೀಡುವ ಶಕ್ತಿ ಶಾಖೆಯ, ಮತ್ತು ನಮ್ಮ ಮಾಹಿತಿ ರಚಿಸಲು ಪ್ರಾರಂಭಿಸಿ ಈ ಕಟ್ಟಡ ಬಳಸಿಕೊಂಡು ರಚನೆಗಳು ಒಟ್ಟಿಗೆ ಬ್ಲಾಕ್ಗಳನ್ನು ಏನಾದರೂ ಉಪಯುಕ್ತ, ನಿಜವಾಗಿಯೂ ಮೌಲ್ಯಯುತ. ನಾವು ಇದನ್ನು ಮಾಡಬಹುದು ಒಂದು ಮಾರ್ಗವಾಗಿದೆ ಸಂಗ್ರಹಣೆಗಳು ಬಗ್ಗೆ ಮಾತನಾಡಲು. ಆದ್ದರಿಂದ ಇದುವರೆಗೂ ನಾವು ದತ್ತಾಂಶದ ಒಂದು ರೀತಿಯ ಹೊಂದಿತ್ತು ಬಂದಿದೆ ಸಂಗ್ರಹಣೆಗಳು ಪ್ರತಿನಿಧಿಸುವ ರಚನೆ ಮೌಲ್ಯಗಳು, ಸಮಾನ ಮೌಲ್ಯಗಳನ್ನು ಇಷ್ಟ. ಒಂದು ಶ್ರೇಣಿಯನ್ನು ಎಂದು. ನಾವು ಪೂರ್ಣಾಂಕಗಳ ಸಂಗ್ರಹಣೆಗಳು, ಅಥವಾ ಹೀಗೆ ಪಾತ್ರಗಳು ಮತ್ತು ಸಂಗ್ರಹಗಳು. ರಚನೆಗಳು ಒಂದು ದಶಮಾಂಶ ರೀತಿಯ ಮಾಹಿತಿ ಸಂಗ್ರಹಿಸುವ ರಚನೆ ಆದರೆ ಮೌಲ್ಯದಂತಹ ಸಂಗ್ರಹಿಸುವ ಅಲ್ಲ. ಇದು ಸಾಮಾನ್ಯವಾಗಿ ವಿವಿಧ ಡೇಟಾ ಪ್ರಕಾರಗಳು ಸಿಕ್ಕಿತ್ತು ಒಟ್ಟಿಗೆ ಒಂದು ಪೆಟ್ಟಿಗೆಯ ಒಳಗೆ. ಆದರೆ ಸ್ವತಃ ಅಲ್ಲ ಒಟ್ಟಿಗೆ ಸರಣಿ ಬಳಸಲಾಗುತ್ತದೆ ಅಥವಾ ಒಟ್ಟಿಗೆ ಒಂದೇ ಸಂಪರ್ಕ ಒಂದು ಶ್ರೇಣಿಯನ್ನು ನಂತಹ ವಸ್ತುಗಳನ್ನು. ಅರೆಸ್ ಕುವೆಂಪು ಅಂಶ ಹುಡುಕುವ ಆದರೆ ಮರುಸ್ಥಾಪನೆ ಇದು ಬಹಳ ಕಷ್ಟ ಎಂದು ಒಂದು ರಚನೆಯ ಸೇರಿಸಲು, ನಾವು ತೂರಿಸುವ ಹೊರತು ವ್ಯೂಹ ಅಂತ್ಯಕಾಲದಲ್ಲಿ. ಮತ್ತು ಉತ್ತಮ ಉದಾಹರಣೆ ನಾನು ಆ ಅಳವಡಿಕೆ ತೆರನಾದ. ನಮ್ಮ ವೀಡಿಯೊ ನೆನಪಿಗೆ ವೇಳೆ ಅಳವಡಿಕೆಯ ರೀತಿಯ ಮೇಲೆ, ಬಹಳಷ್ಟು ಇತ್ತು ವೆಚ್ಚದಲ್ಲಿ ಹೊಂದಿರುವ ಒಳಗೊಂಡಿರುವ ಅಂಶಗಳನ್ನು ಎತ್ತಿಕೊಂಡು, ಮತ್ತು ಅವುಗಳನ್ನು ವರ್ಗಾಯಿಸಲು ಏನೋ ಹೊಂದಿಕೊಳ್ಳಲು ಕೈಬಿಟ್ಟು ನಿಮ್ಮ ರಚನೆಯ ಮಧ್ಯಮ ಆಗಿ. ಅರೆಸ್ ಮತ್ತೊಂದು ಬಳಲುತ್ತಿದ್ದಾರೆ ಸಮಸ್ಯೆ, ಇದು ಹಟಮಾರಿ ಧೋರಣೆಯು ಆಗಿದೆ. ನಾವು ಒಂದು ಶ್ರೇಣಿಯನ್ನು ಘೋಷಿಸಿದ ಸಂದರ್ಭದಲ್ಲಿ, ನಾವು ಒಂದು ಶಾಟ್ ಪಡೆಯಲು. ನಾವು ನಾನು ಬಯಸುವ, ಹೇಳಲು ಪಡೆಯಲು ಈ ಅನೇಕ ಅಂಶಗಳು. 100 ಇರಬಹುದು, ಇದು ಬಹುಶಃ 1,000, ಇದು ಬಹುಶಃ X ಬಳಕೆದಾರ ಒಂದು ಸಂಖ್ಯೆ ಅಲ್ಲಿ x, ಒಂದು ಪ್ರಾಂಪ್ಟಿನಲ್ಲಿ ಅಥವಾ ಕಮ್ಯಾಂಡ್ ನಮಗೆ ನೀಡಿದರು ಲೈನ್. ಆದರೆ ನಾವು ಮಾತ್ರ ಇದು ಒಂದು ಶಾಟ್ ಪಡೆಯಲು, ನಾವು ನಾನು ವಾಸ್ತವವಾಗಿ, ನಂತರ ಓ ಹೇಳಲು ಇರುವುದಿಲ್ಲ 101 ಅಗತ್ಯವಿದೆ, ಅಥವಾ ನಾನು x + 20 ಅಗತ್ಯವಿದೆ. ತಡವಾಗಿ, ನಾವು ಈಗಾಗಲೇ ಡಿಕ್ಲೇರ್ಡ್ ವ್ಯೂಹ, ಮತ್ತು ನಾವು 101 ಅಥವಾ ಪಡೆಯಲು ಬಯಸಿದರೆ ಎಕ್ಸ್ ಜೊತೆಗೆ 20, ನಾವು ಘೋಷಿಸಲು ಒಂದು ಸಂಪೂರ್ಣವಾಗಿ ಬೇರೆ ರಚನೆಯ ರಚನೆಯ ಎಲ್ಲಾ ಅಂಶಗಳನ್ನು ನಕಲಿಸಿ ಮೇಲೆ, ಮತ್ತು ನಂತರ ನಾವು ಸಾಕಷ್ಟು ಹೊಂದಿವೆ. ಮತ್ತು ನಾವು ಮತ್ತೆ ತಪ್ಪಾಗಿದ್ದರೆ, ಏನು, ಏನು ನಾವು ವಾಸ್ತವವಾಗಿ 102, ಅಥವಾ x + 40 ಅಗತ್ಯವಿದ್ದರೆ, ನಾವು ಮತ್ತೆ ಹಾಗೆ ಮಾಡಬೇಕು. ಆದ್ದರಿಂದ ಅವರು ಬಹಳ ಜಗ್ಗದ ಆರ್ ನಮ್ಮ ದತ್ತಾಂಶದ ಮರುಗಾತ್ರಗೊಳಿಸಲು, ಆದರೆ ಒಟ್ಟಿಗೆ ಕೆಲವು ಒಗ್ಗೂಡಿ ನಾವು ಈಗಾಗಲೇ ಬಂದಿದೆ ಬೇಸಿಕ್ಸ್ ಪಾಯಿಂಟರ್ಸ್ ಮತ್ತು ರಚನೆಗಳು ಕಲಿತ ನಿರ್ದಿಷ್ಟವಾಗಿ ಕ್ರಿಯಾತ್ಮಕ ಮೆಮೊರಿ ಬಳಸಿ malloc ಜೊತೆ ಹಂಚಿಕೆ, ನಾವು ಒಟ್ಟಿಗೆ ಈ ತುಣುಕುಗಳನ್ನು ಹಾಕಬಹುದು ಹೊಸ ಅಕ್ಷಾಂಶ ರಚನೆಯನ್ನು ಒಂದು ರಚಿಸಲು ಒಂದೊಂದಾಗಿ ನಾವು ಹೇಳಲು ಇರಬಹುದು ಲಿಂಕ್ ಪಟ್ಟಿ ಎಂದು ನಮಗೆ ಬೆಳೆಯಲು ಅವಕಾಶ ಮತ್ತು ಮೌಲ್ಯಗಳ ಸಂಗ್ರಹ ಕುಗ್ಗಿಸಿ ನಾವು ಯಾವುದೇ ವ್ಯರ್ಥ ಜಾಗವನ್ನು ಬೀರುವುದಿಲ್ಲ. ಆದ್ದರಿಂದ ಮತ್ತೆ, ನಾವು ಈ ಕಲ್ಪನೆಯನ್ನು ಕರೆ ಈ ಕಲ್ಪನೆಯನ್ನು ಒಂದು ಲಿಂಕ್ ಪಟ್ಟಿ. ನಿರ್ದಿಷ್ಟವಾಗಿ, ಈ ವೀಡಿಯೊ ನಾವು ಆರ್ ಒಂದೊಂದಾಗಿ ಲಿಂಕ್ ಪಟ್ಟಿ ಬಗ್ಗೆ, ಮತ್ತು ಇನ್ನೊಂದು ವೀಡಿಯೊವನ್ನು ನಾವು ಮಾತನಾಡಲು ಮಾಡುತ್ತೇವೆ ಬಗ್ಗೆ ದುಪ್ಪಟ್ಟು ಲಿಂಕ್ ಪಟ್ಟಿಗಳನ್ನು, ಇದು ಇಲ್ಲಿ ಒಂದು ಥೀಮ್ ಮೇಲೆ ಕೇವಲ ರೂಪಾಂತರವಾಗಿದೆ. ಆದರೆ ಒಂದು ಏಕಸ್ವರೂಪದಲ್ಲಿ ಲಿಂಕ್ ಪಟ್ಟಿ ಗ್ರಂಥಿಗಳು ಒಳಗೊಂಡಿರುವುದರಿಂದ, ಗ್ರಂಥಿಗಳು ಕೇವಲ ಒಂದು ಅಮೂರ್ತ term-- ಎಂಬ ಇದು ನಾನು ಎಂದು ನುಡಿದರು ವಿಷಯ ಎಂದು ಒಂದು ರೀತಿಯ ರಚನೆ, ಮೂಲತಃ, ನಾನು? ಅದನ್ನು ಒಂದು ನೋಡ್ ಮತ್ತು ಈ ಕರೆ ಹೋಗುವ ನೋಡ್ ಇಬ್ಬರು ಸದಸ್ಯರು, ಅಥವಾ ಎರಡು ಜಾಗ ಹೊಂದಿದೆ. ಇದು ಸಾಮಾನ್ಯವಾಗಿ ಒಂದು ದಶಮಾಂಶ ಹೊಂದಿದೆ ಪೂರ್ಣಾಂಕ, ಒಂದು ಪಾತ್ರ ಫ್ಲೋಟ್ ಅಥವಾ ಕೆಲವು ಇತರ ಡೇಟಾವನ್ನು ಕೌಟುಂಬಿಕತೆ ಆಗಿರಬಹುದು ನೀವು ಒಂದು ರೀತಿಯ ಡೆಫ್ ಜೊತೆ ವ್ಯಾಖ್ಯಾನಿಸಲಾಗಿದೆ ಬಂದಿದೆ. ಮತ್ತು ಇದು ಒಂದು ಪಾಯಿಂಟರ್ ಹೊಂದಿದೆ ಅದೇ ರೀತಿಯ ಇನ್ನೊಂದು ನೋಡ್. ನಾವು ಒಳಗೆ ಎರಡು ವಿಷಯಗಳನ್ನು ಈ ನೋಡ್, ಮಾಹಿತಿ ಮತ್ತು ಒಂದು ಪಾಯಿಂಟರ್ ಇನ್ನೊಂದು ನೋಡ್. ಮತ್ತು ನೀವು ದೃಶ್ಯೀಕರಿಸುವುದು ಆರಂಭಿಸಲು ಈ, ನೀವು ಅದರ ಬಗ್ಗೆ ಯೋಚಿಸಲು ನೋಡ್ಗಳ ಸರಣಿ ಆ ಒಟ್ಟಿಗೆ ಸಂಪರ್ಕ. ನಾವು ಮೊದಲ ನೋಡ್, ಇದು ಡೇಟಾ, ಮತ್ತು ಒಂದು ಪಾಯಿಂಟರ್ ಹೊಂದಿದೆ ಹೊಂದಿರುವ ಎರಡನೇ ನೋಡ್ ಗೆ ಡೇಟಾ, ಮತ್ತು ಮೂರನೇ ನೋಡ್ಗೆ ಒಂದು ಪಾಯಿಂಟರ್. ಮತ್ತು ಆದ್ದರಿಂದ ನಾವು ಕರೆ ಏಕೆ ಲಿಂಕ್ ಪಟ್ಟಿ, ಅವರು ಒಟ್ಟಿಗೆ ಲಿಂಕ್ ನೀವು. ಈ ವಿಶೇಷ ಏನು ನೋಡ್ ರಚನೆ ರೀತಿ? ಸರಿ, ನೀವು ನಮ್ಮ ವೀಡಿಯೊ ಮರುಪಡೆಯಲು ವೇಳೆ ರೀತಿಯ ಡೆಫ್, ಕಸ್ಟಮ್ ವಿಧಗಳು, ನಾವು ಒಂದು ರಚನೆಯನ್ನು ರೂಪಿಸಬಹುದು ಮತ್ತು ಈ ರೀತಿಯ ರಚನೆಯನ್ನು ವಿವರಿಸುತ್ತದೆ ಟೈಪ್. struct sllist tyepdef, ತದನಂತರ ನಾನು ನಿರಂಕುಶವಾಗಿ ಇಲ್ಲಿ ಪದ ಮೌಲ್ಯವನ್ನು ಬಳಸಿ ನಿಜವಾಗಿಯೂ ಯಾವುದೇ ಮಾಹಿತಿ ಪ್ರಕಾರ ಸೂಚಿಸಲು. ನೀವು, ಒಂದು ಪೂರ್ಣಾಂಕ ಅಥವಾ ಫ್ಲೋಟ್ ವರ್ಗಾಯಿಸುತ್ತಾರೆ ನೀವು ಬಯಸುವ ಯಾವುದೇ ತೋರಿಸಬಹುದಿತ್ತು. ಇದು ಕೇವಲ ಸೀಮಿತವಾಗಿಲ್ಲ ವಿಶೇಷವೇನು ಪೂರ್ಣಾಂಕಗಳು ಅಥವಾ ಹಾಗೆ ಏನು. ಆದ್ದರಿಂದ ಮೌಲ್ಯವನ್ನು ಕೇವಲ ಒಂದು ಕ್ರಮವಿಲ್ಲದ ಆಗಿದೆ ನಂತರ ಮಾಹಿತಿ ಪ್ರಕಾರ, ಮತ್ತು ಒಂದು ಪಾಯಿಂಟರ್ ಅದೇ ರೀತಿಯ ಇನ್ನೊಂದು ನೋಡ್. ಈಗ, ಸ್ವಲ್ಪ ಕ್ಯಾಚ್ ಇಲ್ಲ ಇಲ್ಲಿ ರಚನೆ ವ್ಯಾಖ್ಯಾನಿಸುವುದು ಅದು ಸ್ವಯಂ ಸೂಚಕ ರಚನೆ ಇಲ್ಲಿದೆ. ನಾನು ತಾತ್ಕಾಲಿಕ ಹೊಂದಿರಬೇಕು ನನ್ನ ರಚನೆ ಹೆಸರು. ದಿನ ನಾನು ಕೊನೆಯಲ್ಲಿ ಸ್ಪಷ್ಟವಾಗಿ ಕರೆ ಮಾಡಲು ಬಯಸುವ SLL ನೋಡ್, ಅಂತಿಮವಾಗಿ ಹೊಸ ನನ್ನ ಪ್ರಕಾರ ವಿವರಣೆ ಭಾಗವಾಗಿ ಹೆಸರು, ಆದರೆ ನಾನು SLL ನೋಡ್ ಬಳಸುವಂತಿಲ್ಲ ಈ ಮಧ್ಯದಲ್ಲಿ. ಕಾರಣ, ನಾನು ಹೊಂದಿವೆ ಒಂದು ರೀತಿಯ ಕರೆಯಲಾಗುತ್ತದೆ SLL ನೋಡ್ ದಾಖಲಿಸಿದವರು ನಾನು ಇಲ್ಲಿ ಈ ಅಂತಿಮ ಹಂತದಲ್ಲಿ ಹಿಟ್ ರವರೆಗೆ. ಅಲ್ಲಿಯ ತನಕ, ನಾನು ಹೊಂದಿರಬೇಕು ಮತ್ತೊಂದು ರೀತಿಯಲ್ಲಿ ಈ ಡೇಟಾವನ್ನು ವಿಧವನ್ನು ಸೂಚಿಸಲು. ಮತ್ತು ಈ ಸ್ವಯಂ ಸೂಚಕ ಮಾಹಿತಿ ಪ್ರಕಾರ. ಇದು; ಒಂದು ಒಂದು ಡೇಟಾ ಪ್ರಕಾರವನ್ನು ರು ಡೇಟಾ ಒಳಗೊಂಡಿರುವ ರಚನೆ ಮತ್ತು ಇನ್ನೊಂದು ಒಂದು ಪಾಯಿಂಟರ್ ಅದೇ ರೀತಿಯ ರಚನೆ. ಹಾಗಾಗಿ ಉಲ್ಲೇಖಿಸಲು ಸಮರ್ಥರಾಗಿರಬೇಕು ಈ ಮಾಹಿತಿ ಪ್ರಕಾರ ಕನಿಷ್ಟ ತಾತ್ಕಾಲಿಕವಾಗಿ, ಆದ್ದರಿಂದ ತಾತ್ಕಾಲಿಕ ನೀಡುವ struct sllist ಹೆಸರು ನನಗೆ ಆಗ ನಾನು ಬಯಸುವ ಹೇಳುತ್ತಾರೆ ಅನುಮತಿಸುತ್ತದೆ ಇನ್ನೊಂದು struct sllist ಸೂಚಿಯಾಗಿದೆ ಒಂದು struct sllist ಸ್ಟಾರ್, ಮತ್ತು ನಂತರ ನಾನು ವ್ಯಾಖ್ಯಾನ ಪೂರ್ಣಗೊಳಿಸಿದ್ದೇನೆ ನಂತರ, ನಾನು ಈಗ ಈ ರೀತಿಯ ಒಂದು sll ನೋಡ್ ಕರೆಯಬಹುದು. ನೀವು ಇಲ್ಲ ನೋಡಿ ಏಕೆ ಆ ನ ಇಲ್ಲಿ ತಾತ್ಕಾಲಿಕ ಹೆಸರು ಆದರೆ ಇಲ್ಲಿ ಶಾಶ್ವತ ಹೆಸರು. ಕೆಲವೊಮ್ಮೆ ನೀವು ನೋಡಿ ರಚನೆ ವ್ಯಾಖ್ಯಾನಗಳ ಉದಾಹರಣೆಗೆ, ಎಂದು ಅಲ್ಲ ಸ್ವಯಂ ಸೂಚಕ, ಆ ಇಲ್ಲಿ ಒಂದು ನಿಷ್ಕೃಷ್ಟ ಹೆಸರು ಹೊಂದಿಲ್ಲ. ಇದು ಕೇವಲ, typedef struct ಹೇಳುತ್ತಿದ್ದರು ಸುರುಳಿಯಾದ ಬ್ರೇಸ್ ತೆರೆಯಲು ತದನಂತರ ಅದನ್ನು ವ್ಯಾಖ್ಯಾನಿಸಲು. ನೀವು ಇಂತಹ ಆದರೆ struct ಸ್ವ ಸೂಚಕ, ಈ ಒಂದಾಗಿದೆ ಎಂದು, ನೀವು ನಿರ್ದಿಷ್ಟಪಡಿಸಬೇಕಾಗಿದೆ ತಾತ್ಕಾಲಿಕ ರೀತಿಯ ಹೆಸರು. ಆದರೆ ಅಂತಿಮವಾಗಿ, ಈಗ ನಾವು ಮಾಡಿದ ಎಂದು, ನಾವು ಉಲ್ಲೇಖಿಸಬಹುದು ಈ ಗ್ರಂಥಿಗಳು, ಈ ಘಟಕಗಳು, ಉದ್ದೇಶಗಳಿಗಾಗಿ SLL ಗ್ರಂಥಿಗಳು ಈ ವೀಡಿಯೊ ಉಳಿದ. ಸರಿ, ನಾವು ಹೇಗೆ ಗೊತ್ತು ಒಂದು ಲಿಂಕ್ ಪಟ್ಟಿ ನೋಡ್ ರಚಿಸಲು. ನಾವು ವ್ಯಾಖ್ಯಾನಿಸಲು ಹೇಗೆ ಗೊತ್ತಿಲ್ಲ ಒಂದು ಲಿಂಕ್ ಪಟ್ಟಿ ನೋಡ್. ಈಗ, ನಾವು ಆರಂಭಿಸಲು ನೀನು ಸಂಗ್ರಹಿಸಲು ಅವುಗಳನ್ನು ಬಳಸಿ, ಕಾರ್ಯಾಚರಣೆಗಳ ಒಂದೆರಡು ಇಲ್ಲ ನಾವು ಅರ್ಥ ಮತ್ತು ಕೆಲಸ ಮಾಡಬೇಕಾಗುತ್ತದೆ. ನಾವು ರಚಿಸಲು ಹೇಗೆ ತಿಳಿಯಬೇಕು ತೆಳುವಾದ ಗಾಳಿಯ ಲಿಂಕ್ ಪಟ್ಟಿ. ಯಾವುದೇ ಪಟ್ಟಿಯನ್ನು ಈಗಾಗಲೇ ಇಲ್ಲ, ನಾವು ಒಂದು ಆರಂಭಿಸಲು ಬಯಸುವ. ನಾವು ಅಗತ್ಯವಿರುತ್ತದೆ ಲಿಂಕ್ ಪಟ್ಟಿ ರಚಿಸಲು, ನಾವು ಬಹುಶಃ ಹುಡುಕಲು ಅಗತ್ಯವಿದೆ ಲಿಂಕ್ ಪಟ್ಟಿ ನಾವು ಹುಡುಕುತ್ತಿರುವ ಒಂದು ಅಂಶ ಹುಡುಕಲು. ನಾವು ಸೇರಿಸಲು ಸಾಧ್ಯವಾಗುತ್ತದೆ ಅಗತ್ಯವಿದೆ ಪಟ್ಟಿ ಹೊಸ ವಿಷಯಗಳನ್ನು, ನಮ್ಮ ಪಟ್ಟಿಯಲ್ಲಿ ಬೆಳೆಯಲು ಸಾಧ್ಯವಾಗುತ್ತದೆ ಬಯಸುವ. ಮತ್ತು ಹಾಗೆಯೇ, ನಾವು ಮಾಡಲು ಬಯಸುವ ನಮ್ಮ ಪಟ್ಟಿಯಿಂದ ವಿಷಯಗಳನ್ನು ಅಳಿಸಲು, ನಮ್ಮ ಪಟ್ಟಿಯಲ್ಲಿ ಸಂಕುಚಿಸುತ್ತವೆ ಸಾಧ್ಯವಾಗುತ್ತದೆ ಬಯಸುವ. ಮತ್ತು ಕೊನೆಯಲ್ಲಿ ನಮ್ಮ ಕಾರ್ಯಕ್ರಮಗಳು, ವಿಶೇಷವಾಗಿ ನಾವು ಆರ್ ಮರುಪಡೆಯಲು ಆ ಸಕ್ರಿಯವಾಗಿ ಮೆಮೊರಿ ಹಂಚುತ್ತಾರೆ ಸಾಮಾನ್ಯವಾಗಿ ಈ ಪಟ್ಟಿಗಳನ್ನು ನಿರ್ಮಿಸಲು, ನಾವು ಮೆಮೊರಿ ಎಲ್ಲಾ ಮುಕ್ತಗೊಳಿಸಲು ಬಯಸುವ ನಾವು ಕೆಲಸ ಪೂರೈಸಿದ. ಮತ್ತು ಆದ್ದರಿಂದ ನಾವು ಒಂದು ಅಳಿಸಲು ಸಮರ್ಥರಾಗಿರಬೇಕು ಒಂದು ಇಡೀ ಲಿಂಕ್ ಪಟ್ಟಿ ಅಪಹರಣ ವಿಫಲಗೊಳ್ಳುತ್ತದೆ. ಆದ್ದರಿಂದ ಮೂಲಕ ಹೋಗಲು ಅವಕಾಶ ಈ ಕಾರ್ಯಾಚರಣೆಗಳ ಕೆಲವು ಮತ್ತು ನಾವು ಅವುಗಳನ್ನು ದೃಶ್ಯೀಕರಿಸುವುದು ಎಂಬುದರ, ನಿರ್ದಿಷ್ಟವಾಗಿ ಸೂಡೊಕೋಡ್ಗಳನ್ನು ಕೋಡ್ ಮಾತನಾಡುವ. ನಾವು ಒಂದು ರಚಿಸಲು ಬಯಸುವ ಲಿಂಕ್ ಪಟ್ಟಿ, ಆದ್ದರಿಂದ ಬಹುಶಃ ನಾವು ಕಾರ್ಯವನ್ನು ವ್ಯಾಖ್ಯಾನಿಸಲು ಬಯಸುವ ಈ ಮೂಲಮಾದರಿಯು. SLL ನೋಡ್ ಸ್ಟಾರ್, ರಚಿಸಲು, ಮತ್ತು ನಾನು ಹಾದುಹೋಗುವ ನಾನು ಒಂದು ವಾದದಲ್ಲಿನ, ಕೆಲವು ನಿರಂಕುಶ ಡೇಟಾ ಕೆಲವು ನಿರಂಕುಶ ಮಾಹಿತಿ ಪ್ರಕಾರ, ಮತ್ತೆ ಟೈಪ್. ಆದರೆ ನಾನು ಈ ಕಾರ್ಯವನ್ನು ಮಾಡಬೇಕು returning-- ಬಾಗುತ್ತೇನೆ ಒಂದು ಒಂದೊಂದಾಗಿ, ನನಗೆ ಒಂದು ಪಾಯಿಂಟರ್ ಮರಳಲು ಲಿಂಕ್ ಪಟ್ಟಿ ನೋಡ್. ಮತ್ತೆ, ನಾವು ರಚಿಸಲು ಪ್ರಯತ್ನಿಸುತ್ತಿರುವ ತೆಳುವಾದ ಗಾಳಿಯ ಒಂದು ಲಿಂಕ್ ಪಟ್ಟಿಯಲ್ಲಿ, ಆದ್ದರಿಂದ ನಾನು ಒಂದು ಪಾಯಿಂಟರ್ ಅಗತ್ಯವಿದೆ ನಾನು ಆಯಿತು ಎಂದು ಪಟ್ಟಿಯಲ್ಲಿ. ಇಲ್ಲಿ ಒಳಗೊಂಡಿರುವ ಹಂತಗಳು ಯಾವುವು? ನಾನು ಮೊದಲ ವಿಷಯ ಮನುಷ್ಯ ಹಾಗೆ ಹೋಗಿ ಸಕ್ರಿಯವಾಗಿ ಆಗಿದೆ ಒಂದು ಹೊಸ ನೋಡ್ ಜಾಗವನ್ನು ನಿಯೋಜಿಸಿ. ಮತ್ತೆ, ನಾವು ತೆಳುವಾದ ಇದನ್ನು ರಚಿಸುತ್ತಿದೆ ಗಾಳಿ, ಆದ್ದರಿಂದ ನಾವು ಅದನ್ನು malloc ಜಾಗ ಅಗತ್ಯವಿದೆ. ಮತ್ತು ಸಹಜವಾಗಿ, ತಕ್ಷಣ ನಾವು malloc ನಂತರ, ನಾವು ಯಾವಾಗಲೂ ಎಂದು ಖಚಿತಪಡಿಸಿಕೊಳ್ಳಿ ಪರಿಶೀಲಿಸಿ ನಮ್ಮ ಪಾಯಿಂಟರ್ ನಾವು ಮತ್ತೆ ಶೂನ್ಯ ಆಗಲಿಲ್ಲ. ನಾವು ಪ್ರಯತ್ನಿಸಿದರೆ ಕಾರಣ ಮತ್ತು ಒಂದು ಶೂನ್ಯ ಪಾಯಿಂಟರ್ ಮನ್ನಣೆ, ನಾವು ಬಳಲುತ್ತಿದ್ದಾರೆ ನೀನು segfault ಮತ್ತು ನಾವು ಬಯಸುವುದಿಲ್ಲ. ನಂತರ ನಾವು ಕ್ಷೇತ್ರದಲ್ಲಿ ತುಂಬಲು ಬಯಸುವ, ನಾವು ಮೌಲ್ಯವನ್ನು ಕ್ಷೇತ್ರ ಆರಂಭಿಸಲು ಬಯಸುವ ಮತ್ತು ಮುಂದಿನ ಕ್ಷೇತ್ರ ಆರಂಭಿಸಲು. ನಂತರ ನಾವು ಕ್ರಮೇಣ ಬಯಸಿದಾಗ ನಾವು ಬಯಸುವ indicates-- ಕಾರ್ಯ ಮಾದರಿ ಒಂದು sll ನೋಡ್ಗೆ ಒಂದು ಪಾಯಿಂಟರ್ ಮರಳಲು. ಹಾಗಾಗಿ ಈ ದೃಷ್ಟಿ ಕಾಣುವಂತೆ? ಸರಿ, ಮೊದಲ ನಾವು ಸಕ್ರಿಯವಾಗಿ ನೀನು ಹೊಸ SLL ನೋಡ್ ಜಾಗವನ್ನು ನಿಯೋಜಿಸಿ, ಆದ್ದರಿಂದ ನಾವು ಇಲ್ಲಿದೆ malloc-- ಒಂದು ದೃಶ್ಯ ನಿರೂಪಣೆ ನೋಡ್ ನಾವು ಕೇವಲ ದಾಖಲಿಸಿದವರು. ನಾವು ಖಚಿತಪಡಿಸಿಕೊಳ್ಳಿ ಇದು, ಈ ಸಂದರ್ಭದಲ್ಲಿ ಶೂನ್ಯ ಅಲ್ಲ ಚಿತ್ರವನ್ನು ಹೊಂದಿಲ್ಲ ಎಂದು ಇದು ಶೂನ್ಯ ಎಂದು ತೋರಿಸಿವೆ, ನಾವು, ಮೆಮೊರಿ ರನ್ ಎಂದು ಆದ್ದರಿಂದ ನಾವು ಹೋಗಲು ಉತ್ತಮ ಆರ್. ಈಗ ನಾವು ಸಿ ಹೆಜ್ಜೆ ಇದ್ದೇವೆ ಗ್ರಂಥಿಗಳು ಮೌಲ್ಯವನ್ನು ಕ್ಷೇತ್ರ ಆರಂಭಿಸಲು. ಅಲ್ಲದೆ, ಈ ಕಾರ್ಯ ಆಧರಿಸಿದೆ , ನಾನು ಇಲ್ಲಿ ಬಳಸಿಕೊಂಡು ಬಾಗುತ್ತೇನೆ ಕರೆ ನಾನು 6 ಹಾದು ಬಯಸುವ ಹಾಗೆ ಕಾಣುತ್ತದೆ ಆದ್ದರಿಂದ ನಾನು ಮೌಲ್ಯವನ್ನು ಕ್ಷೇತ್ರದಲ್ಲಿ 6 ಮಾಡುತ್ತೇವೆ. ಈಗ, ಮುಂದಿನ ಕ್ಷೇತ್ರ ಆರಂಭಿಸಲು. ಅಲ್ಲದೆ, ನಾನು ಮಾಡಲು ಹೋಗುತ್ತಿದ್ದೇನೆ, ಏನೂ ಸರಿ, ಮುಂದಿನ ಇಲ್ಲ, ಈ ಪಟ್ಟಿಯಲ್ಲಿ ಮಾತ್ರ ವಿಷಯ. ಆದ್ದರಿಂದ ಪಟ್ಟಿಯಲ್ಲಿ ಮುಂದೆ ಎಂಬುದನ್ನು? ಅದು ಸರಿ, ಏನು ಬೆಟ್ಟು ಮಾಡಬಾರದು. ಏನೂ ಆದ್ದರಿಂದ ಏನು, ಬೇರೆ ಇಲ್ಲ ಇಲ್ಲ ನಾವು ಎಂದು ತಿಳಿದಿದ್ದರೆ ಪರಿಕಲ್ಪನೆ ಏನೂ ಇಲ್ಲಿದೆ ಏನೂ ಪಾಯಿಂಟರ್ಸ್? ಇದು ಬಹುಶಃ ನಾವು ಬಯಸುವ ಇರಬೇಕು ಅಲ್ಲಿ ಒಂದು ಶೂನ್ಯ ಪಾಯಿಂಟರ್ ಹಾಕಲು, ಮತ್ತು ನಾನು ಶೂನ್ಯ ಪ್ರತಿನಿಧಿಸುತ್ತವೆ ಮಾಡುತ್ತೇವೆ , ಕೇವಲ ಕೆಂಪು ಬಾಕ್ಸ್ ಪಾಯಿಂಟರ್ ನಾವು ಹೆಚ್ಚಿಗೆ ಮುಂದುವರೆಯಲಿಲ್ಲ ಮಾಡಬಹುದು. ನಾವು ನಂತರ ಸ್ವಲ್ಪ ನೋಡುತ್ತಾರೆ ಎಂದು, ನಾವು ಅಂತಿಮವಾಗಿ ಸರಪಳಿಗಳು ಹೊಂದಿರುತ್ತದೆ ಬಾಣಗಳ ಸಂಪರ್ಕ ಒಟ್ಟಿಗೆ ಈ ಗ್ರಂಥಿಗಳು, ಆದರೆ ನೀವು ಹೊಡೆದಾಗ ಕೆಂಪು ಬಾಕ್ಸ್, ಆ, ಶೂನ್ಯ ನಾವು ಹೆಚ್ಚಿಗೆ ಮುಂದುವರೆಯಲಿಲ್ಲ ಮಾಡಬಹುದು ಆ ಪಟ್ಟಿಯ ಕೊನೆಯಲ್ಲಿ ಇಲ್ಲಿದೆ. ಮತ್ತು ಕೊನೆಯದಾಗಿ, ನಾವು ಬಯಸುವ ಈ ನೋಡ್ಗೆ ಒಂದು ಪಾಯಿಂಟರ್ ಮರಳಲು. ನಾವು ಹೊಸ ಕರೆ ಮಾಡುತ್ತೇವೆ ಮತ್ತು ಹೊಸ ಹಿಂದಿರುಗುವ ಆದ್ದರಿಂದ ಬಳಸಬಹುದು ಯಾವುದೇ ಕ್ರಿಯೆ ದಾಖಲಿಸಿದವರು. ಆದ್ದರಿಂದ ನಾವು ಹೋಗಿ, ನಾವು ಒಂದು ಒಂದೊಂದಾಗಿ ರಚಿಸಿದ ತೆಳುವಾದ ಗಾಳಿಯ ಲಿಂಕ್ ಪಟ್ಟಿ ನೋಡ್, ಮತ್ತು ಈಗ ನಾವು ಕೆಲಸ ಮಾಡಬಹುದು ಪಟ್ಟಿಯನ್ನು ಹೊಂದಿರುತ್ತವೆ. ಈಗ, ಈಗಾಗಲೇ ನಾವು ಹೇಳಲು ಅವಕಾಶ ಒಂದು ದೊಡ್ಡ ಸರಪಳಿ ಹೊಂದಿವೆ, ಮತ್ತು ನಾವು ಏನೋ ಹುಡುಕಲು ಬಯಸುವ. ನಾವು ವಿಶೇಷವೇನು ಒಂದು ಫಂಕ್ಷನ್ ಬಯಸುವ ಸರಿ ಅಥವಾ ತಪ್ಪು ಮರಳಲು ಅವಲಂಬಿಸಿ ಈ ಕೆಳಗಿನ ಆ ಪಟ್ಟಿಯಲ್ಲಿ ಅಸ್ತಿತ್ವದಲ್ಲಿವೆಯೇ ಎಂಬುದರ ಆಧಾರದ. ಒಂದು ಫಂಕ್ಷನ್ ಮಾದರಿ, ಅಥವಾ ಎಂದು ಕ್ರಿಯೆಯ ಘೋಷಣೆಯು this-- ಹುಡುಕಲು bool ರೀತಿ, ಮತ್ತು ಇರಬಹುದು ನಂತರ ನಾವು ಎರಡು ವಾದಗಳನ್ನು ಪಾಸ್ ಮಾಡಲು. ಮೊದಲ, ಒಂದು ಪಾಯಿಂಟರ್ ಲಿಂಕ್ ಪಟ್ಟಿಯಲ್ಲಿ ಮೊದಲ ಅಂಶ. ಈ ನೀವು ಮಾಡುತ್ತೇವೆ ವಾಸ್ತವವಾಗಿ ವಿಷಯ ಯಾವಾಗಲೂ ಟ್ರ್ಯಾಕ್ ಬಯಸುವ, ಮತ್ತು ವಾಸ್ತವವಾಗಿ ಏನೋ ನೀಡಬಹುದಾದ ನೀವು ಸಹ ಒಂದು ಜಾಗತಿಕ ವೇರಿಯಬಲ್ ಪುಟ್. ನೀವು ಪಟ್ಟಿಯನ್ನು ರಚಿಸಲು ಒಮ್ಮೆ ಯಾವಾಗಲೂ ಯಾವಾಗಲೂ ನೀವು, ಬಹಳ ಜಾಡನ್ನು ಬಯಸುವ ಪಟ್ಟಿಯ ಮೊದಲ ಅಂಶ. ನೀವು ಎಲ್ಲಾ ಇತರ ಉಲ್ಲೇಖಿಸಬಹುದು ರೀತಿಯಲ್ಲಿ ಕೇವಲ ಸರಣಿ ಅನುಸರಿಸಿ ಅಂಶಗಳನ್ನು, ಪಾಯಿಂಟರ್ಸ್ ಇರಿಸಿಕೊಳ್ಳಲು ಮಾಡದೆಯೇ ಪ್ರತಿಯೊಂದು ಅಂಶ ಹಾಗೇ. ನೀವು ಕೇವಲ ಮೊದಲ ಕಾಪಾಡುವುದು ಅಗತ್ಯವಿದೆ ಒಂದು ಅವರು ಎಲ್ಲಾ ಒಟ್ಟಿಗೆ ಚೈನ್ಡ್ ಬಳಸುತ್ತಿದ್ದರೆ. ನಂತರ ಎರಡನೇ ವಿಷಯ ಇನ್ನೊಮ್ಮೆ ಹಾದುಹೋಗುವ ನೀವು ನಿರಂಕುಶವಾಗಿ some-- ಆಗಿದೆ ಯಾವುದೇ ಡೇಟಾವನ್ನು ರೀತಿಯ ನಾವು ಆರ್ ಅಲ್ಲಿ ಹುಡುಕುತ್ತಿರುವ ಒಳಗಿದೆ ಆಶಾದಾಯಕವಾಗಿ ಪಟ್ಟಿ ನೋಡ್ಗಳ. ಆದ್ದರಿಂದ ಹಂತಗಳು ಯಾವುವು? ಸರಿ, ನಾವು ಮೊದಲ ವಿಷಯ ನಾವು ಛೇದಕವಾಗಿದೆ ಪಾಯಿಂಟರ್ ರಚಿಸಲು ಪಟ್ಟಿಗಳನ್ನು ತಲೆ ಸೂಚಿಸುತ್ತಿದ್ದರು. ಸರಿ, ಏಕೆ ಎಂದು, ನಾವು ಈಗಾಗಲೇ ನಾವು ಏನು ಮಾಡಬೇಕು ಪಟ್ಟಿಗಳನ್ನು ಮುಂಚೂಣಿಯಲ್ಲಿ ಒಂದು ಪಾಯಿಂಟರ್, ಏಕೆ ನಾವು ಸುಮಾರು ಒಂದು ಚಲಿಸುವುದಿಲ್ಲ? ಜೊತೆಗೆ, ನಾನು ಹೇಳಿದ ಹಾಗೆ, ಇದು ನಮಗೆ ನಿಜವಾಗಿಯೂ ಪ್ರಮುಖ ಯಾವಾಗಲೂ ಕಾಪಾಡುವುದು ಪಟ್ಟಿಯಲ್ಲಿ ಮೊದಲ ಅಂಶ. ಮತ್ತು ಆದ್ದರಿಂದ ವಾಸ್ತವವಾಗಿ ಉತ್ತಮ ಎಂದು ಒಂದು ನಕಲಿ ರಚಿಸಲು, ಮತ್ತು ಆದ್ದರಿಂದ ನಾವು ಎಂದಿಗೂ ಸುತ್ತಲು ಬಳಸಲು ಆಕಸ್ಮಿಕವಾಗಿ ದೂರ, ಅಥವಾ ಯಾವಾಗಲೂ ನಾವು ಎಂದು ಒಂದು ಹಂತದಲ್ಲಿ ಒಂದು ಪಾಯಿಂಟರ್ ಬಲ ಪಟ್ಟಿಯ ಮೊದಲ ಅಂಶ. ಆದ್ದರಿಂದ ಒಂದು ರಚಿಸಲು ಉತ್ತಮ ನಾವು ಸರಿಸಲು ಬಳಸುವ ಎರಡನೆಯದು. ನಂತರ ನಾವು ಎಂದು ಹೋಲಿಸಿ ಆ ನೋಡ್ನಲ್ಲಿ ಮೌಲ್ಯ ಕ್ಷೇತ್ರ ಇದು ಇದ್ದರೆ ನಾವು ಹುಡುಕುತ್ತಿರುವ, ಮತ್ತು ನೀವು ಏನು ಅಲ್ಲ, ನಾವು ಮುಂದಿನ ನೋಡ್ ಸರಿಸಲು. ಮತ್ತು ನಾವು ಮಾಡುವ ಇರಿಸಿಕೊಳ್ಳಲು ಮೇಲೆ, ಮತ್ತು ಪ್ರತಿ, ಮತ್ತು ಪ್ರತಿ, ನಾವು ಎರಡೂ ಹೇಗೆ ರವರೆಗೆ ಅಂಶ, ಅಥವಾ ನಾವು ಹಿಟ್ ಶೂನ್ಯ ನಾವು ಕೊನೆಯಲ್ಲಿ ತಲುಪಿದ್ದೀರಿ ಮತ್ತು ಪಟ್ಟಿಯಲ್ಲಿ ಇದು ಇಲ್ಲ. ಈ ಆಶಾದಾಯಕವಾಗಿ ಒಂದು ಘಂಟೆ ಬಾರಿಸಲು ಬೇಕು ನಿಮಗೆ ಕೇವಲ ರೇಖೀಯ ಹುಡುಕಾಟ, ನಾವು ಇದನ್ನು ನಕಲು ಮಾಡುತ್ತಿದ್ದೇವೆ ಏಕಸ್ವರೂಪದಲ್ಲಿ ಲಿಂಕ್ ಪಟ್ಟಿ ರಚನೆ ಬದಲಿಗೆ ಅದನ್ನು ಒಂದು ವ್ಯೂಹವನ್ನು ಬಳಸಿಕೊಂಡು ನ. ಇಲ್ಲಿ ಒಂದು ಉದಾಹರಣೆ ಏಕಸ್ವರೂಪದಲ್ಲಿ ಲಿಂಕ್ ಪಟ್ಟಿ. ಈ ಒಂದು ಒಳಗೊಂಡಿದೆ ಐದು ಘಟಕಗಳ, ಮತ್ತು ನಾವು ಮುಖ್ಯಸ್ಥ ಒಂದು ಪಾಯಿಂಟರ್ ಪಟ್ಟಿ ಎಂದು ಕರೆಯಲಾಗುತ್ತದೆ ಪಟ್ಟಿಯಲ್ಲಿ. ನಾವು ಮಾಡಲು ಬಯಸುವ ಮೊದಲ ವಿಷಯ ಮತ್ತೆ, ಪ್ರಯಾಣ ಪಾಯಿಂಟರ್ ರಚಿಸಲು. ನಾವು ಈಗ ಎರಡು ಪಾಯಿಂಟರ್ಸ್ ಹೊಂದಿವೆ ಒಂದೇ ಆ. ಈಗ, ಇಲ್ಲಿ ಗಮನಿಸಿ ನಾನು ಮಾಡಲಿಲ್ಲ trav ಯಾವುದೇ ಜಾಗ malloc ಹೊಂದಿವೆ. ನಾನು trav malloc ಸಮನಾಗಿರುತ್ತದೆ ಹೇಳಲಿಲ್ಲ ಏನೋ, ಆ ನೋಡ್ ಈಗಾಗಲೇ ಅಸ್ತಿತ್ವದಲ್ಲಿದೆ ಮೆಮೊರಿ ಆ ಜಾಗದಲ್ಲಿ ಈಗಾಗಲೇ ಅಸ್ತಿತ್ವದಲ್ಲಿದೆ. ನಾನು ವಾಸ್ತವವಾಗಿ ಮಾಡುತ್ತಿರುವೆ ಎಲ್ಲಾ ಇದು ಮತ್ತೊಂದು ಪಾಯಿಂಟರ್ ರಚಿಸುವ. ನಾನು ಹೆಚ್ಚುವರಿ mallocing ಇಲ್ಲ ಸ್ಥಳವನ್ನು ಇದೀಗ ಎರಡು ಪಾಯಿಂಟರ್ಸ್ ಹೊಂದಿವೆ ಒಂದೇ ಸೂಚಿಸುತ್ತಿದ್ದರು. ಆದ್ದರಿಂದ 2 ನಾನು ಬಯಸುತ್ತೇನೆ ಏನು? ಯಾವುದೇ, ಸರಿ, ಆದ್ದರಿಂದ ಬದಲಿಗೆ ನಾನು ಮುಂದಿನ ಒಂದು ತೆರಳಲು ಹೋಗುವ. ಆದ್ದರಿಂದ ಮೂಲಭೂತವಾಗಿ ನಾನು ಹೇಳುತ್ತಿದ್ದರು trav ಮುಂದಿನ trav ಸಮನಾಗಿರುತ್ತದೆ. ನಾನು ಯಾವುದೇ, ಬಯಸುತ್ತೇನೆ ಏನು 3. ಹಾಗಾಗಿ ಹೋಗಿ ಮುಂದುವರಿಯುತ್ತದೆ ಮೂಲಕ, ಅಂತಿಮವಾಗಿ ರವರೆಗೆ ನಾನು ಬಯಸುತ್ತೇನೆ ಏನು 6 ಪಡೆಯಲು ಕಾರ್ಯ ಕರೆ ಆಧರಿಸಿ ಫಾರ್ ನಾನು ಮೇಲಿರುವ ಅಲ್ಲಿ, ಮತ್ತು ಆದ್ದರಿಂದ ನಾನು ಮುಗಿಸಿದ್ದೇನೆ. ಈಗ, ಅಂಶ ನಾನು ನನಗೆ ವೇಳೆ ಹುಡುಕುತ್ತಿರುವ, ಪಟ್ಟಿಯಲ್ಲಿ ಇದು ಇನ್ನೂ ಕೆಲಸ ನಡೆಯುತ್ತಿದೆ? ಸರಿ, ಪಟ್ಟಿ ಗಮನಕ್ಕೆ ಇಲ್ಲಿ, ಸೂಕ್ಷ್ಮವಾಗಿ ವಿಭಿನ್ನವಾಗಿದೆ ಮತ್ತು ಈ ಕಷ್ಟ ಮತ್ತೊಂದು ವಿಷಯ ಲಿಂಕ್ ಪಟ್ಟಿಗಳನ್ನು ಪ್ರಮುಖ, ನೀವು ರಕ್ಷಿಸಲು ಇಲ್ಲ ಯಾವುದೇ ನಿರ್ದಿಷ್ಟ ಕ್ರಮದಲ್ಲಿ. ನೀವು ಬಯಸಿದರೆ ನೀವು, ಆದರೆ ನೀವು ಈಗಾಗಲೇ ಗಮನಿಸಬಹುದು ನಾವು ಗಮನವಿಡುತ್ತಾ ಇಲ್ಲ ನಾವು ಯಾವ ಸಂಖ್ಯೆ ಅಂಶ ಇರುತ್ತದೆ. ಮತ್ತು ಒಂದು ವ್ಯಾಪಾರ ರೀತಿಯ ಇಲ್ಲಿದೆ ನಾವು ರಚನೆಗಳು ಪದ್ಯಗಳನ್ನು ಲಿಂಕ್ ಪಟ್ಟಿಯನ್ನು ಹೊಂದಿವೆ, ಇದು ನಾವು ಹೊಂದಿಲ್ಲ ಇದೆ ಇನ್ನು ಮುಂದೆ ಇಂಟರ್ನೆಟ್ ಪ್ರವೇಶ. ನಾವು ನಾನು ಬಯಸುವ ಹೇಳಲು ಸಾಧ್ಯವಿಲ್ಲ 0th ಅಂಶ ಹೋಗಲು, ಅಥವಾ ನನ್ನ ರಚನೆಯ 6 ಅಂಶ ಇದು ನಾನು ಒಂದು ಶ್ರೇಣಿಯನ್ನು ಮಾಡಬಹುದು. ನಾನು ಹೋಗಿ ಬಯಸುವ ಹೇಳಲು ಸಾಧ್ಯವಿಲ್ಲ 0th ಅಂಶ, ಅಥವಾ 6 ನೇ ಅಂಶ ಅಥವಾ ನನ್ನ ಲಿಂಕ್ ಪಟ್ಟಿಯಲ್ಲಿ 25 ನೇ ಅಂಶ ಅವರಿಗೆ ಸಂಬಂಧಿಸಿದ ಯಾವುದೇ ಸೂಚ್ಯಂಕ ಇಲ್ಲ. ಮತ್ತು ಆದ್ದರಿಂದ ಇದು ನಿಜವಾಗಿಯೂ ಅಪ್ರಸ್ತುತವಾಗುತ್ತದೆ ನಾವು ನಮ್ಮ ಪಟ್ಟಿಯಲ್ಲಿ ಸಂರಕ್ಷಿಸಲು ವೇಳೆ. ನೀವು ಬಯಸಿದರೆ ಖಂಡಿತವಾಗಿಯೂ, ಆದರೆ ಇಲ್ಲ ಅವರು ಅಗತ್ಯವಿದೆ ಏಕೆ ಯಾವುದೇ ಕಾರಣವಿರುವುದಿಲ್ಲ ಯಾವುದೇ ಕ್ರಮದಲ್ಲಿ ರಕ್ಷಿಸಲ್ಪಟ್ಟ. ಆದ್ದರಿಂದ ಮತ್ತೆ, ಪ್ರಯತ್ನಿಸೋಣ ಮತ್ತು ಈ ಪಟ್ಟಿಯಲ್ಲಿ 6 ಹೇಗೆ. ಸರಿ, ನಾವು ಆರಂಭವಾಗುವುದು ಆರಂಭದಲ್ಲಿ, ನಾವು 6 ದೊರೆಯದಿದ್ದಲ್ಲಿ ಮತ್ತು ನಾವು ಹುಡುಕುವ ಅಲ್ಲ ಮುಂದುವರಿದರೂ 6, ನಾವು ಅಂತಿಮವಾಗಿ ಇಲ್ಲಿ ಪಡೆಯಲು ತನಕ. ನೋಡ್ ಆದ್ದರಿಂದ ಇದೀಗ trav ಅಂಕಗಳನ್ನು 8 ಹೊಂದಿರುವ, ಮತ್ತು ಆರು ಇಲ್ಲ ಎಂಬುದು. ಆದ್ದರಿಂದ ಮುಂದಿನ ಹೆಜ್ಜೆಯಾಗಿದೆ ಎಂದು ಮುಂದಿನ ಪಾಯಿಂಟರ್ ಹೋಗಿ, ಆದ್ದರಿಂದ trav ಮುಂದಿನ trav ಸಮನಾಗಿರುತ್ತದೆ ಹೇಳಲು. ಸರಿ, trav ಮುಂದಿನ ಸೂಚಿಸಲ್ಪಟ್ಟಿದೆ ಅಲ್ಲಿ ಕೆಂಪು ಬಾಕ್ಸ್, ಶೂನ್ಯ. ಆದ್ದರಿಂದ ಬೇರೆಲ್ಲಿಯೂ ಇಲ್ಲ ಈ ಹಂತದಲ್ಲಿ ಹೋಗಿ, ಮತ್ತು ನಾವು ತಲುಪಿದ್ದೀರಿ ತೀರ್ಮಾನಿಸಬಹುದು ಲಿಂಕ್ ಪಟ್ಟಿಯ ಕೊನೆಯಲ್ಲಿ, ಮತ್ತು 6 ಇಲ್ಲ ಎಂಬುದು. ಮತ್ತು ಇದು ಮರಳಿದರು ಎಂದು ಈ ಸಂದರ್ಭದಲ್ಲಿ ತಪ್ಪು. ಸರಿ, ನಾವು ಹೊಸ ಸೇರಿಸಲು ಇಲ್ಲ ಲಿಂಕ್ ಪಟ್ಟಿ ನೋಡ್? ನಾವು ರಚಿಸಲು ಸಾಧ್ಯವಾಯಿತು ಎಲ್ಲಿಯೂ ಹೊರಗೆ ಒಂದು ಲಿಂಕ್ ಪಟ್ಟಿಯಲ್ಲಿ, ಆದರೆ ನಾವು ಬಹುಶಃ ಬಯಸುವ ಒಂದು ಸರಪಳಿ ನಿರ್ಮಿಸಲು ಮತ್ತು ವಿಶಿಷ್ಟ ಪಟ್ಟಿಗಳನ್ನು ಒಂದು ಗುಂಪೇ ರಚಿಸಲು. ನಾವು ಒಂದು ಪಟ್ಟಿ ಬೇಕು , ಇದು ನೋಡ್ ಒಂದು ಗುಂಪನ್ನು ಹೊಂದಿದೆ ಒಂದು ನೋಡ್ ಜೊತೆ ಪಟ್ಟಿಗಳನ್ನು ಒಂದು ಗುಂಪೇ. ಆದ್ದರಿಂದ ನಾವು ರಚಿಸಿ ಬಳಸಿಕೊಂಡು ಇರಿಸಿಕೊಳ್ಳಲು ಸಾಧ್ಯವಿಲ್ಲ ಕಾರ್ಯ ನಾವು ಈಗ, ಹಿಂದಿನ ವ್ಯಾಖ್ಯಾನಿಸಲಾಗಿದೆ ನಾವು ಒಂದು ಸೇರಿಸಲು ಬಯಸುವ ಈಗಾಗಲೆ ಪಟ್ಟಿಯಲ್ಲಿ. ಈ ಸಂದರ್ಭದಲ್ಲಿ, ನಾವು ನೀನು ಎರಡು ವಾದಗಳನ್ನು ರವಾನಿಸಲು, ಎಂದು ತಲೆಗೆ ಪಾಯಿಂಟರ್ ನಾವು ಸೇರಿಸಲು ಬಯಸುವ ಲಿಂಕ್ ಪಟ್ಟಿ. ಅದು ಏಕೆ ಮತ್ತೆ, ಎಂದು ಇಲ್ಲಿದೆ ಪ್ರಮುಖ ಯಾವಾಗಲೂ ನಾವು ಏಕೆಂದರೆ, ಇದು ಟ್ರ್ಯಾಕ್ ಇದು ನಿಜವಾಗಿಯೂ ಕೇವಲ ರೀತಿಯಲ್ಲಿ ನಾವು ಇಲ್ಲಿದೆ ಇಡೀ ಪಟ್ಟಿ ನೋಡಿ ಮಾಡಬೇಕು ಕೇವಲ ಮೊದಲ ಅಂಶ ಒಂದು ಪಾಯಿಂಟರ್ ಮೂಲಕ. ನಾವು ಒಂದು ಪಾಸ್ ಬಯಸುವ ಮೊದಲ ಅಂಶ ಸೂಚಿಯಾಗಿದೆ ಮತ್ತು ಏನೇ ಮೌಲ್ಯವನ್ನು ನಾವು ಪಟ್ಟಿಗೆ ಸೇರಿಸಲು ಬಯಸುವ. ಮತ್ತು ಅಂತಿಮವಾಗಿ ಈ ಕಾರ್ಯ ಒಂದು ಪಾಯಿಂಟರ್ ಮರಳಲು ಹೋಗುತ್ತದೆ ಒಂದು ಲಿಂಕ್ ಪಟ್ಟಿ ಹೊಸ ತಲೆಗೆ. ಇಲ್ಲಿ ಒಳಗೊಂಡಿರುವ ಹಂತಗಳು ಯಾವುವು? ಅಲ್ಲದೆ, ರಚಿಸಲು ಹಾಗೆ ನಾವು ಸಕ್ರಿಯವಾಗಿ ನಿಯೋಜಿಸಿ ಅಗತ್ಯವಿದೆ ಹೊಸ ನೋಡ್ ಜಾಗವನ್ನು, ಮತ್ತು ಮಾಡಲು ಪರಿಶೀಲಿಸಿ ಖಚಿತವಾಗಿ ನಾವು ಮೆಮೊರಿ ರನ್ ಇಲ್ಲ, ಮತ್ತೆ, ನಾವು malloc ಬಳಸುತ್ತಿರುವ ಕಾರಣ. ನಂತರ ನಾವು ಜನಪ್ರಿಯಗೊಳಿಸುವುದಕ್ಕೆ ಬಯಸುವ ಮತ್ತು, ನೋಡ್ ಸೇರಿಸಲು ಆದ್ದರಿಂದ ಸಂಖ್ಯೆ ಪುಟ್, ಯಾವುದೇ ವಾಲ್ ನೋಡ್ಗೆ, ಆಗಿದೆ. ನಾವು ನೋಡ್ ಸೇರಿಸಲು ಬಯಸುವ ಲಿಂಕ್ ಪಟ್ಟಿ ಆರಂಭದಲ್ಲಿ. ಒಂದು ಕಾರಣಗಳಿವೆ ಎಂದು ನಾನು ಈ ಮಾಡಲು ಬಯಸುವ, ಮತ್ತು ಇದು ಎರಡನೇ ತೆಗೆದುಕೊಳ್ಳುವ ಮೌಲ್ಯದ ಇರಬಹುದು ಇಲ್ಲಿ ವೀಡಿಯೊ ತಾತ್ಕಾಲಿಕ, ಮತ್ತು ನಾನು ಬಯಸುತ್ತೇನೆ ಏಕೆ ಬಗ್ಗೆ ಒಂದು ಲಿಂಕ್ ಆರಂಭದಲ್ಲಿ ಸೇರಿಸಲು ಪಟ್ಟಿ. ಮತ್ತೆ, ನಾನು ಮೊದಲೇ ಹೇಳಿದಂತೆ ಇದು ನಿಜವಾಗಿಯೂ ಎಂಬುದನ್ನು ನಾವು ಯಾವುದೇ ಅದನ್ನು ಸಂರಕ್ಷಿಸಲು ವೇಳೆ ಪರವಾಗಿಲ್ಲ ಸಲುವಾಗಿ, ಆದ್ದರಿಂದ ಬಹುಶಃ ಒಂದು ಸುಳಿವು ಇಲ್ಲಿದೆ. ಮತ್ತು ನೀವು ನಾವು ಏನಾಗಬಹುದು ಕಂಡಿತು ಬೇಕಾಗಿದ್ದಾರೆ to-- ಅಥವಾ ಕೇವಲ ಒಂದು ಎರಡನೇ ಹಿಂದೆ ನಾವು ಹೊರಟಿದ್ದ ಹುಡುಕಾಟ ಮೂಲಕ ನೀವು ಏನು ಇರಬಹುದು ನೋಡಬಹುದು ನಾವು ಪ್ರಯತ್ನಿಸುತ್ತಿದ್ದ ವೇಳೆ ಸಂಭವಿಸಿ ಪಟ್ಟಿಯ ಕೊನೆಯಲ್ಲಿ ಸೇರಿಸಲು. ನಾವು ಒಂದು ಹೊಂದಿಲ್ಲದಿರುವುದರಿಂದ ಪಟ್ಟಿಯ ಕೊನೆಯಲ್ಲಿ ಪಾಯಿಂಟರ್. ಆದ್ದರಿಂದ ಕಾರಣ ನಾನು ಬಯಸುತ್ತೇನೆ ಎಂದು ಆರಂಭದಲ್ಲಿ ಸೇರಿಸಲು, ನಾನು ತಕ್ಷಣ ಅದನ್ನು ಏಕೆಂದರೆ ಇದು. ನಾನು ಆರಂಭದಲ್ಲಿ ಒಂದು ಪಾಯಿಂಟರ್, ಮತ್ತು ನಾವು ಎರಡನೇ ಒಂದು ದೃಶ್ಯ ಈ ನೋಡುತ್ತಾರೆ. ಆದರೆ ನಾನು ಕೊನೆಯಲ್ಲಿ ಸೇರಿಸಲು ಬಯಸಿದರೆ, ನಾನು ಆರಂಭದಲ್ಲಿ ಪ್ರಾರಂಭಿಸಬೇಕು ಎಲ್ಲಾ ರೀತಿಯಲ್ಲಿ ಸಂಚರಿಸುತ್ತಾರೆ ಕೊನೆಯಲ್ಲಿ, ಮತ್ತು ನಂತರ ಅದನ್ನು ಸ್ಪಂದನ. ಆದ್ದರಿಂದ ಅರ್ಥ ಪಟ್ಟಿಯ ಕೊನೆಯಲ್ಲಿ ಸೇರಿಸುವ n ನ ಒ ಆಯಿತು ಕಾರ್ಯಾಚರಣೆ, ತರುವುದನ್ನು ನಮ್ಮ ಚರ್ಚೆಗೆ ಎಣಿಕೆಯ ಸಂಕೀರ್ಣತೆ. ಇದು ಎನ್ ಕಾರ್ಯಾಚರಣೆ, ಅಲ್ಲಿ ಒ ಆಗಲು ಬಯಸುವ ಪಟ್ಟಿ ದೊಡ್ಡ, ಮತ್ತು ದೊಡ್ಡ ದೊರೆತಿದೆ ಎಂದು, ಮತ್ತು ದೊಡ್ಡ, ಹೆಚ್ಚು ಆಗಲು ಮಾಡುತ್ತೇವೆ ಮತ್ತು ಏನೋ ಸ್ಪಂದನ ಕಷ್ಟ ಕೊನೆಯಲ್ಲಿ ಮೇಲೆ. ಆದರೆ ಯಾವಾಗಲೂ ನಿಜವಾಗಿಯೂ ಸುಲಭ ಆರಂಭದಲ್ಲಿ ಏನೋ ಸ್ಪಂದನ, ನೀವು ಆರಂಭದಲ್ಲಿ ಯಾವಾಗಲೂ ಆರ್. ಮತ್ತು ನಾವು ಮತ್ತೆ ಈ ಒಂದು ದೃಶ್ಯ ನೋಡುತ್ತಾರೆ. ನಂತರ ನಾವು ಒಮ್ಮೆ ಪೂರೈಸಿದ ಒಮ್ಮೆ ನಾವು ಹೊಸ ನೋಡ್ ಸೇರಿಸಿದ, ನಾವು ನಮ್ಮ ಪಾಯಿಂಟರ್ ಮರಳಲು ಬಯಸುವ ಲಿಂಕ್ ಪಟ್ಟಿ ಹೊಸ ಮುಖ್ಯಸ್ಥ, ಇದು ನಾವು ತೂರಿಸುವ ಕಾರಣ ಆರಂಭದಲ್ಲಿ, ವಾಸ್ತವವಾಗಿ ಇರುತ್ತದೆ ನಾವು ಕೇವಲ ದಾಖಲಿಸಿದವರು ನೋಡ್ಗೆ ಒಂದು ಪಾಯಿಂಟರ್. ನ ಈ ದೃಶ್ಯೀಕರಿಸುವುದು ಅವಕಾಶ ಏಕೆಂದರೆ ನಾನು ಸಹಾಯ ತಿಳಿಯುತ್ತೇನೆ. ಇಲ್ಲಿ ನಮ್ಮ ಪಟ್ಟಿ ಇಲ್ಲಿದೆ, ಇದು ಒಳಗೊಂಡಿದೆ ನಾಲ್ಕು ಅಂಶಗಳು, ಒಂದು ನೋಡ್, 15 ಹೊಂದಿರುವ ಒಂದು ನೋಡ್ ಸೂಚಿತವಾಗಿರುತ್ತದೆ 9 ಹೊಂದಿರುವ ಇದು 13 ಹೊಂದಿರುವ ಒಂದು ನೋಡ್ ಸೂಚಿತವಾಗಿರುತ್ತದೆ, ಇದು ಹೊಂದಿರುವ ಒಂದು ನೋಡ್ ಸೂಚಿತವಾಗಿರುತ್ತದೆ ಶೂನ್ಯ ಹೊಂದಿರುವ 10, ಅದರ ಮುಂದಿನ ಪಾಯಿಂಟರ್ ಪಾಯಿಂಟರ್ ಆದ್ದರಿಂದ ಆ ಪಟ್ಟಿಯ ಕೊನೆಯಲ್ಲಿ ಇಲ್ಲಿದೆ. ನಾವು ಒಂದು ಸೇರಿಸಲು ಬಯಸುವ ಮೌಲ್ಯ 12 ಹೊಸ ನೋಡ್ ಈ ಆರಂಭದಲ್ಲಿ ಪಟ್ಟಿ, ನಾವು ಏನು ಇಲ್ಲ? ಸರಿ, ಮೊದಲ ನಾವು ಜಾಗ malloc ನೋಡ್, ಮತ್ತು ನಂತರ ನಾವು ಹಾಗಾದರೆ 12 ಪುಟ್. ಈಗ ನಾವು ತಲುಪಿರುವ ನಿರ್ಧಾರ ಸ್ಥಿತಿಯನ್ನು, ಬಲ? ನಾವು ಒಂದೆರಡು ಹೊಂದಿವೆ ಪಾಯಿಂಟರ್ಸ್ ಎಂದು ಸಾಧ್ಯವೋ ನಾವು ಮೊದಲ ಒಂದು ನಡೆಸಬೇಕು, ಸರಿಸಲು? ನಾವು 12 ಬಿಂದುವಿಗೆ ಮಾಡಬೇಕು ಪಟ್ಟಿಯಲ್ಲಿ ಹೊಸ ಹೆಡ್ ಅಥವಾ ಕ್ಷಮಿಸಿ, ನಾವು 12 ಮಾಡಬೇಕು ಪಟ್ಟಿಯ ಹಳೆಯ ತಲೆ ಬೆಟ್ಟು? ಅಥವಾ ನಾವು ಎಂದು ಹೇಳುತ್ತಾರೆ ಪಟ್ಟಿ ಈಗ 12 ಆರಂಭಗೊಳ್ಳುತ್ತದೆ. ಒಂದು ವ್ಯತ್ಯಾಸ ಇಲ್ಲ ಅಲ್ಲಿ, ಮತ್ತು ನಾವು ನೋಡಲು ಮಾಡುತ್ತೇವೆ ಎರಡೂ ಎರಡನೇ ಏನಾಗುತ್ತದೆ. ಆದರೆ ಈ ಒಂದು ಕಾರಣವಾಗುತ್ತದೆ ಸೈಡ್ಬಾರ್ನಲ್ಲಿ ದೊಡ್ಡ ವಿಷಯ, ಇದು ಒಂದಾಗಿದೆ ಲಿಂಕ್ ಪಟ್ಟಿಗಳನ್ನು trickiest ವಿಷಯಗಳನ್ನು ಪಾಯಿಂಟರ್ಸ್ ವ್ಯವಸ್ಥೆ ಇದೆ ಸರಿಯಾದ ಕ್ರಮದಲ್ಲಿ. ನೀವು ಸಲುವಾಗಿ ವಿಷಯಗಳನ್ನು ಔಟ್ ಸರಿಸಿದರೆ, ನೀವು ಆಕಸ್ಮಿಕವಾಗಿ ಕೊನೆಗೊಳ್ಳುತ್ತದೆ ಪಟ್ಟಿಯಲ್ಲಿ ಉಳಿದ orphaning. ಮತ್ತು ಇಲ್ಲಿ ಒಂದು ಉದಾಹರಣೆ. ಆದ್ದರಿಂದ ಯೋಚನೆ ಆಗದ ಇಲ್ಲಿದೆ ವೆಲ್, ನಾವು 12 ರಚಿಸಿದ. ನಾವು 12 ಎಂದು ಹೋಗುವ ತಿಳಿದಿದೆ ಪಟ್ಟಿಯ ಹೊಸ ಮುಖ್ಯಸ್ಥ ಮತ್ತು ಆದ್ದರಿಂದ ನಾವು ಚಲಿಸುವುದಿಲ್ಲ ಪಟ್ಟಿ ಪಾಯಿಂಟರ್ ಇಲ್ಲ ತೋರಿಸಲು. ಸರಿ, ಆದ್ದರಿಂದ ಒಳ್ಳೆಯದು. ಈಗ ಅಲ್ಲಿ 12 ಮುಂದಿನ ಹಂತದಲ್ಲಿ ಮಾಡುತ್ತದೆ? ನಾನು ದೃಷ್ಟಿ ನಾವು ನೋಡಬಹುದು, ಅರ್ಥ ಇದು 15 ಬೆಟ್ಟು ಎಂದು, ಮಾನವರು ಇದನ್ನು ನಮಗೆ ನಿಜವಾಗಿಯೂ ಸ್ಪಷ್ಟವಾಗಿದೆ. ಹೇಗೆ ಕಂಪ್ಯೂಟರ್ ತಿಳಿದಿದೆಯೇ? ನಾವು ಏನೂ ಇಲ್ಲ ಇನ್ನು ಮುಂದೆ 15 ತೋರುತ್ತಿರುವಂತೆ, ಬಲ? ನಾವು 15 ಉಲ್ಲೇಖಿಸಲು ಯಾವುದೇ ಸಾಮರ್ಥ್ಯವನ್ನು ಕಳೆದುಕೊಂಡ ಮಾಡಿದ. ನಾವು ಹೊಸ ಬಾಣದ ಮುಂದಿನ ಸಮ ಹೇಳಲು ಸಾಧ್ಯವಿಲ್ಲ ಏನೋ, ಏನೂ ಇಲ್ಲ. ವಾಸ್ತವವಾಗಿ, ನಾವು ಅನಾಥ ಬಂದಿದೆ ಪಟ್ಟಿಯಲ್ಲಿ ಉಳಿದ ಹಾಗೆ, ನಾವು ಆಕಸ್ಮಿಕವಾಗಿ ಸರಣಿ ಮುರಿದ. ಮತ್ತು ನಾವು ಖಂಡಿತವಾಗಿಯೂ ಹಾಗೆ ಬಯಸುವುದಿಲ್ಲ. ಆದ್ದರಿಂದ ಹಿಂದಕ್ಕೆ ಹೋಗಿ ಮತ್ತೆ ಈ ಪ್ರಯತ್ನಿಸೋಣ. ಬಹುಶಃ ಬಲ ವಿಷಯ ಮಾಡಲು 12 ಮುಂದಿನ ಪಾಯಿಂಟರ್ ಸೆಟ್ ಆಗಿದೆ ಮೊದಲ ಪಟ್ಟಿಯ ಹಳೆಯ ತಲೆಗೆ, ನಂತರ ನಾವು ಪಟ್ಟಿಯ ಮೇಲೆ ಚಲಿಸಬಹುದು. ಮತ್ತು ವಾಸ್ತವವಾಗಿ, ಎಂದು ಸರಿಯಾದ ಕ್ರಮದಲ್ಲಿ ನಾವು ನಾವು ಇರುವಾಗ ಪಾಲಿಸಬೇಕು ಒಂದೊಂದಾಗಿ ಲಿಂಕ್ ಪಟ್ಟಿಯನ್ನು ಕೆಲಸ. ನಾವು ಯಾವಾಗಲೂ ಸಂಪರ್ಕ ಬಯಸುವ ಪಟ್ಟಿ ಹೊಸ ಘಟಕವನ್ನು, ನಾವು ಆ ರೀತಿಯ ತೆಗೆದುಕೊಳ್ಳುವ ಮೊದಲು ಬದಲಾಗುತ್ತಿರುವ ಪ್ರಮುಖ ಹೆಜ್ಜೆ ಅಲ್ಲಿ ಲಿಂಕ್ ಪಟ್ಟಿ ಮುಖ್ಯಸ್ಥರಾಗಿರುತ್ತಾರೆ. ಮತ್ತೆ, ಇಂತಹ ಮೂಲಭೂತ ವಿಷಯ, ನಾವು ಜಾಡು ಕಳೆದುಕೊಳ್ಳಲು ಬಯಸುವುದಿಲ್ಲ. ಆದ್ದರಿಂದ ನಾವು ಖಾತ್ರಿಪಡಿಸಿಕೊಳ್ಳಬೇಕಾಗಿದೆ ಎಲ್ಲವೂ ಒಟ್ಟಿಗೆ ಚೈನ್ಡ್ ನಾವು ಸರಿಸಲು ಮೊದಲು. ಆದ್ದರಿಂದ ಈ ಸರಿಯಾದ ಕ್ರಮದಲ್ಲಿ ಎಂದು, ಇದು ಪಟ್ಟಿಗೆ 12 ಸಂಪರ್ಕ, ನಂತರ ಪಟ್ಟಿಯಲ್ಲಿ 12 ಆರಂಭವಾಗುತ್ತದೆ ಎಂದು. ನಾವು ಪಟ್ಟಿ 12 ಆರಂಭಗೊಂಡು ಹೇಳಿದರು ಮತ್ತು ನಂತರ, ಪಟ್ಟಿಯಲ್ಲಿ 12 ಸಂಪರ್ಕಿಸಲು ಪ್ರಯತ್ನಿಸಿದ ನಾವು ಈಗಾಗಲೇ ಏನಾಗುತ್ತದೆ ನೋಡಿದ. ನಾವು ತಪ್ಪಾಗಿ ಪಟ್ಟಿ ಕಳೆದುಕೊಳ್ಳಬಹುದು. ಸರಿ, ಆದ್ದರಿಂದ ಒಂದು ವಿಷಯ ಬಗ್ಗೆ ಮಾತನಾಡಲು. ನಾವು ತೊಡೆದುಹಾಕಲು ಬಯಸಿದರೆ ಇಡೀ ಬಾರಿ ಲಿಂಕ್ ಪಟ್ಟಿ? ಮತ್ತೆ, ನಾವು mallocing ನೀವು ಈ ಜಾಗವನ್ನು, ಮತ್ತು ಆದ್ದರಿಂದ ನಾವು ನಾವು ಪೂರೈಸಿದಾಗ ಮುಕ್ತಗೊಳಿಸಲು ಬೇಕು. ಈಗ ನಾವು ಅಳಿಸಲು ಇಡೀ ಲಿಂಕ್ ಪಟ್ಟಿ. ಸರಿ, ನಾವು ಮಾಡಲು ಬಯಸುತ್ತೀರಿ? ನಾವು ಶೂನ್ಯ ಪಾಯಿಂಟರ್ ತಲುಪಿದ್ದೀರಿ ವೇಳೆ, ನಾವು ಇಲ್ಲದಿದ್ದರೆ, ಕೇವಲ ಅಳಿಸಿ ನಿಲ್ಲಿಸಲು ಬಯಸುವ ನಂತರ ಪಟ್ಟಿಯಲ್ಲಿ ಉಳಿದ ಮತ್ತು ನನಗೆ. ಪಟ್ಟಿಯಲ್ಲಿ ಉಳಿದ ಅಳಿಸಿ, ತದನಂತರ ಪ್ರಸ್ತುತ ನೋಡ್ ಮುಕ್ತಗೊಳಿಸಲು. ಆ ಧ್ವನಿ ಏನು, ಯಾವ ತಂತ್ರ ನಾವು ಮಾತನಾಡಿದರು ಬಗ್ಗೆ ಹಿಂದೆ ಆ ಧ್ವನಿ ಮಾಡುತ್ತದೆ? ನಂತರ, ಉಳಿದವರೆಲ್ಲರೂ ಅಳಿಸಿ ಮರಳಿ ಬಂದು ನನಗೆ ಅಳಿಸಿ. ರಿಕರ್ಶನ್ ಇಲ್ಲಿದೆ, ನಾವು ಮಾಡಿದ ಸ್ವಲ್ಪ ಸಣ್ಣ ಸಮಸ್ಯೆ, ನಾವು ಎಲ್ಲರೂ ಅಳಿಸಲು ಹೇಳುತ್ತಿದ್ದಾರೆಂಬುದನ್ನು ಬೇರೆ, ನಂತರ ನೀವು ನನ್ನನ್ನು ಅಳಿಸಬಹುದು. ಮತ್ತು ಹೆಚ್ಚಿನ ರಸ್ತೆ ಕೆಳಗೆ, ಆ ನೋಡ್ ಉಳಿದವರೆಲ್ಲರೂ ಅಳಿಸಿ ಹೇಳುವುದಿಲ್ಲ. ಆದರೆ ಅಂತಿಮವಾಗಿ ನಾವು ಪಡೆಯುತ್ತೀರಿ ಪಟ್ಟಿ ಶೂನ್ಯ ಬಿಂದುವಿಗೆ, ಮತ್ತು ನಮ್ಮ ಮೂಲ ಕೇಸ್. ಆದ್ದರಿಂದ ಈ ಒಂದು ಅವಲೋಕಿಸೋಣ ಮತ್ತು ಈ ಕೆಲಸ ಹೇಗೆ. ಇಲ್ಲಿ ನಮ್ಮ ಪಟ್ಟಿ ಇಲ್ಲಿದೆ, ಇದು ಅದೇ , ನಾವು ಬಗ್ಗೆ ಪಟ್ಟಿ ಮತ್ತು ಕ್ರಮಗಳನ್ನು ಇಲ್ಲ. ಪಠ್ಯ ಬಹಳಷ್ಟು ಇಲ್ಲಿ ಇಲ್ಲ ಆದರೆ ಆಶಾದಾಯಕವಾಗಿ ದೃಶ್ಯೀಕರಣ ಸಹಾಯ ಮಾಡುತ್ತದೆ. ನಾವು ಹೊಂದಿಲ್ಲ ಮತ್ತು ನಾನು ಎಳೆದ ನಮ್ಮ ಸ್ಟಾಕ್ ಚೌಕಟ್ಟುಗಳ ವಿವರಣೆ ಅಪ್ ಕರೆ ರಾಶಿಯನ್ನು ನಮ್ಮ ವೀಡಿಯೊ, ಮತ್ತು ಆಶಾದಾಯಕವಾಗಿ ಈ ಎಲ್ಲಾ ಒಟ್ಟಿಗೆ ಏನು ನಡೆಯುತ್ತಿದೆ ಎಂಬುದನ್ನು ನೀವು ತೋರಿಸುತ್ತದೆ. ಇಲ್ಲಿ ನಮ್ಮ ಸೂಡೊಕೋಡ್ಗಳನ್ನು ಕೋಡ್ ಇಲ್ಲಿದೆ. ನಾವು ಶೂನ್ಯ ತಲುಪಿದಲ್ಲಿ ಪಾಯಿಂಟರ್, ಇಲ್ಲದಿದ್ದರೆ, ನಿಲ್ಲಿಸಲು ಪಟ್ಟಿಯಲ್ಲಿ ಉಳಿದ ಅಳಿಸಿ ನಂತರ ಪ್ರಸ್ತುತ ನೋಡ್ ಮುಕ್ತಗೊಳಿಸಲು. ಆದ್ದರಿಂದ ಇದೀಗ, ಪಟ್ಟಿಯಲ್ಲಿ ನಾವು ನೀವು ಪಾಯಿಂಟರ್ ಹಾದುಹೋಗುವ 12 ಅಂಕಗಳನ್ನು ನಾಶ. 12 ಒಂದು ಶೂನ್ಯ ಪಾಯಿಂಟರ್ ಅಲ್ಲ, ಆದ್ದರಿಂದ ನಾವು ಆರ್ ಪಟ್ಟಿಯಲ್ಲಿ ಉಳಿದ ಅಳಿಸಿ ಹೋಗುವ. ಏನು ಅಳಿಸಲು ಇದೆ ನಮಗೆ ಉಳಿದ ಒಳಗೊಂಡಿರುವ? ಸರಿ, ಇದು ಮಾಡುವ ಅರ್ಥ ಹೇಳುವ ನಾಶ ಕರೆ 15 ಎಂದು ಪ್ರಾರಂಭ ನಾವು ನಾಶ ಬಯಸುವ ಪಟ್ಟಿಯಲ್ಲಿ ಉಳಿದ. ಆದ್ದರಿಂದ ಕರೆ ನಾಶ 12 ತಡೆಹಿಡಿಯಲಾಗಿದೆ ರೀತಿಯ. ಇದು ಕಾಯುತ್ತಿರುವ ಫ್ರೀಜ್ ವಿಶೇಷವೇನು ಅದರ ಕೆಲಸ ಮುಗಿಸಲು, 15 ನಾಶ ಕರೆ. ಸರಿ, 15 ಒಂದು ಶೂನ್ಯ ಪಾಯಿಂಟರ್ ಅಲ್ಲ, ಮತ್ತು ಆದ್ದರಿಂದ ಹೇಳಲು ವಿಶೇಷವೇನು, ಸರಿ, ಹಾಗೂ, ಪಟ್ಟಿಯಲ್ಲಿ ಉಳಿದ ಅಳಿಸಿ. ಪಟ್ಟಿಯಲ್ಲಿ ಉಳಿದ ಆರಂಭವಾಗುತ್ತದೆ 9, ಮತ್ತು ಆದ್ದರಿಂದ ನಾವು ಮಾಡುತ್ತೇವೆ ನೀವು ಎಲ್ಲಾ ಅಳಿಸಬಹುದು ನಿರೀಕ್ಷಿಸಿ ಎಂದು ವಿಷಯವನ್ನು, ನಂತರ ಮರಳಿ ಬಂದು ನನಗೆ ಅಳಿಸಿ. ಸರಿ 9 ಜೊತೆಗೆ, ಹೇಳಲು ವಿಶೇಷವೇನು, ನಾನು, ಒಂದು ಶೂನ್ಯ ಪಾಯಿಂಟರ್ ಅಲ್ಲ ಇಲ್ಲಿ ಉಳಿದ ಪಟ್ಟಿ ಅಳಿಸಿ. ಆದ್ದರಿಂದ ಪ್ರಯತ್ನಿಸಿ ಮತ್ತು 13 ನಾಶ. 13 ನಾನು ಶೂನ್ಯ ಪಾಯಿಂಟರ್ ಅಲ್ಲ ಹೇಳುತ್ತಾರೆ ಒಂದೇ, ಇದು ಬಕ್ ಹಾದುಹೋಗುತ್ತದೆ. 10, 10 ಶೂನ್ಯ ಪಾಯಿಂಟರ್ ಅಲ್ಲ ಒಂದು ಶೂನ್ಯ ಪಾಯಿಂಟರ್ ಹೊಂದಿದೆ, ಆದರೆ 10 ಸ್ವತಃ ಒಂದು ಆಗಿದೆ ಶೂನ್ಯ ಇದೀಗ ಪಾಯಿಂಟರ್ ಮತ್ತು ತುಂಬಾ ಬಕ್ ಹಾದುಹೋಗುತ್ತದೆ. ಈಗ, ಅದನ್ನು ಅಂಕಗಳನ್ನು ಪಟ್ಟಿ ನಿಜವಾಗಿಯೂ some-- ಬೆಟ್ಟು ಮಾಡುತ್ತಾರೆ ನಾನು ಚಿತ್ರದಲ್ಲಿ ಹೆಚ್ಚು ಜಾಗವನ್ನು ವೇಳೆ, ಇದು ಕೆಲವು ಯಾದೃಚ್ಛಿಕ ಜಾಗವನ್ನು ತೋರುವುದು ನಾವು ಏನೆಂದು ಗೊತ್ತಿಲ್ಲ. ಇದು ಆದರೂ ಶೂನ್ಯ ಪಾಯಿಂಟರ್, ಪಟ್ಟಿಯಲ್ಲಿ ಅಕ್ಷರಶಃ ಈಗ ಶೂನ್ಯ ಮೌಲ್ಯಗಳು ಇಲ್ಲಿದೆ ಹೊಂದಿಸಲಾಗಿದೆ. ಇದು ಬಲ ಕೆಂಪು ಬಾಕ್ಸ್ ಒಳಗೆ ಸೂಚಿಸುವ. ನಾವು ಆದ್ದರಿಂದ ಒಂದು ಶೂನ್ಯ ಪಾಯಿಂಟರ್ ತಲುಪಿತು ನಾವು ನಿಲ್ಲಿಸಬಹುದು ಮತ್ತು ನಾವು ಮುಗಿಸಿದ್ದೀರಿ. ಮತ್ತು ಆದ್ದರಿಂದ ನೇರಳೆ ಫ್ರೇಮ್ ಈಗ ಆಗಿದೆ ಸಕ್ರಿಯ ಫ್ರೇಮ್ ಎಂದು stack-- ಮೇಲ್ಭಾಗದಲ್ಲಿ ಆದರೆ ಇದನ್ನು. ನಾವು ಒಂದು ಶೂನ್ಯ ಪಾಯಿಂಟರ್ ತಲುಪಿದ್ದೀರಿ ವೇಳೆ, ನಿಲ್ಲಿಸಲು. ನಾವು ಏನು ಮಾಡಬೇಡಿ ನಾವು ಒಂದು ಶೂನ್ಯ ಪಾಯಿಂಟರ್ ಮುಕ್ತಗೊಳಿಸಲು ಸಾಧ್ಯವಿಲ್ಲ, ನಾವು ಯಾವುದೇ malloc ಇಲ್ಲ ಸ್ಪೇಸ್, ಮತ್ತು ಆದ್ದರಿಂದ ನಾವು ಮುಗಿಸಿದ್ದೀರಿ. ಆ ಕಾರ್ಯವನ್ನು ಫ್ರೇಮ್ ಆದ್ದರಿಂದ ನಾಶ, ಮತ್ತು ನಾವು ಇದೆ ನಾವು ಎಲ್ಲಿ resume-- ನಾವು ತೆಗೆದುಕೊಳ್ಳಲು ನಂತರದ ಒಂದು, ಜೊತೆಗೆ ಇದು ಇಲ್ಲಿ ಈ ಕಡು ನೀಲಿ ಚೌಕಟ್ಟು. ಆದ್ದರಿಂದ ನಾವು ಆಫ್ ಬಿಟ್ಟು ಅಲ್ಲಿ ಬಲಕ್ಕೆ ಆಯ್ಕೆ. ನಾವು ಉಳಿದ ಅಳಿಸಲಾಗಿದೆ ಪಟ್ಟಿಯನ್ನು ಈಗಾಗಲೇ, ಆದ್ದರಿಂದ ಈಗ ನಾವು ಆರ್ ಪ್ರಸ್ತುತ ಗ್ರಂಥಿಗಳು ಮುಕ್ತಗೊಳಿಸಲು ಹೋಗುವ. ಈಗ ನಾವು ಈಗ ಈ ನೋಡ್ ಮುಕ್ತಗೊಳಿಸಲು, ಮತ್ತು ಮಾಡಬಹುದು ನಾವು ಕಾರ್ಯ ಕೊನೆಯಲ್ಲಿ ತಲುಪಿದ್ದೀರಿ. ಆದ್ದರಿಂದ ಆ ಕಾರ್ಯವನ್ನು ಫ್ರೇಮ್ ನಾಶವಾಗಿ ಮತ್ತು ನಾವು ತಿಳಿ ನೀಲಿ ಒಂದು ಎತ್ತಿಕೊಂಡು. ಆದ್ದರಿಂದ ನಾನು ಈಗಾಗಲೇ done-- ಬಂದಿದೆ says-- , ಪಟ್ಟಿಯಲ್ಲಿ ಉಳಿದ ಅಳಿಸುವುದು ಆದ್ದರಿಂದ ಪ್ರಸ್ತುತ ನೋಡ್ ಮುಕ್ತಗೊಳಿಸಲು. ಈಗ ಹಳದಿ ಚೌಕಟ್ಟು ಮತ್ತೆ ಸ್ಟಾಕ್ ಮೇಲೆ. ನೀವು ನೋಡಿ ಎಂದು ಆದ್ದರಿಂದ, ನಾವು ಈಗ ಆರ್ ಬಲದಿಂದ ಪಟ್ಟಿ ನಾಶ ಎಡಕ್ಕೆ. ಏನು, ಆದರೂ, ಉಂಟಾಗಿರಬಹುದು ಎಂದು ನಾವು ವಿಷಯಗಳನ್ನು ತಪ್ಪು ರೀತಿಯಲ್ಲಿ ಮಾಡಿದ ವೇಳೆ? ಕೇವಲ ನಾವು ಪ್ರಯತ್ನಿಸಿದಾಗ ರೀತಿಯ ಒಂದು ಅಂಶ ಸೇರಿಸಲು. ನಾವು ವೇಳೆ ಸರಣಿ, ಅವ್ಯವಸ್ಥೆಯಿಂದ ವೇಳೆ ನಾವು ಪಾಯಿಂಟರ್ಸ್ ಸಂಪರ್ಕ ಇರಲಿಲ್ಲ ಸರಿಯಾದ ಕ್ರಮದಲ್ಲಿ, ನಾವು ವೇಳೆ ಕೇವಲ ಮೊದಲ ಅಂಶ ಬಿಡುಗಡೆ, ನಾವು ಬಿಡುಗಡೆ ವೇಳೆ ಪಟ್ಟಿ ಮುಖ್ಯಸ್ಥ, ಈಗ ನಾವು ಉಲ್ಲೇಖಿಸಲು ಇಲ್ಲ ಪಟ್ಟಿಯಲ್ಲಿ ಉಳಿದ. ಮತ್ತು ಆದ್ದರಿಂದ ನಾವು ಹೊಂದಿರುತ್ತದೆ ಅನಾಥ ಎಲ್ಲವೂ, ನಾವು ಏನು ಹೊಂದಿತ್ತು ಒಂದು ಮೆಮೊರಿ ಸೋರಿಕೆಯಾದಲ್ಲಿ ಕರೆಯಲಾಗುತ್ತದೆ. ನಮ್ಮ ವೀಡಿಯೊ ಮರುಪಡೆಯಲು ವೇಳೆ ಕ್ರಿಯಾಶೀಲ ಸ್ಮರಣೆ ಹಂಚಿಕೆ ಮೇಲೆ, ಬಹಳ ಒಳ್ಳೆಯದು ಅಲ್ಲ. ಆದ್ದರಿಂದ ನಾನು ಹೇಳಿದರು ಹಲವಾರು ಕಾರ್ಯಗಳು ನಡೆಯುತ್ತವೆ ನಾವು ಕೆಲಸ ಬಳಸಬೇಕಾಗುತ್ತದೆ ಪರಿಣಾಮಕಾರಿಯಾಗಿ ಲಿಂಕ್ ಪಟ್ಟಿ. ಮತ್ತು ನೀವು, ನಾನು ಒಂದು ಬಿಟ್ಟು ಗಮನಿಸಬಹುದು ಒಂದು ಲಿಂಕ್ ಒಂದೇ ಘಟಕವನ್ನು ಡಿಲಿಟ್ ಪಟ್ಟಿ. ನಾನು ಮಾಡಿದರು ಕಾರಣ ಇದು ವಾಸ್ತವವಾಗಿ ರೀತಿಯ ಇಲ್ಲಿದೆ ಅಳಿಸಲು ಹೇಗೆ ಬಗ್ಗೆ ಟ್ರಿಕಿ ಒಂದು ಒಂದೊಂದಾಗಿ ಒಂದೇ ಅಂಶ ಲಿಂಕ್ ಪಟ್ಟಿಯಲ್ಲಿ. ನಾವು ಬಿಟ್ಟು ಸಮರ್ಥರಾಗಿರಬೇಕು ಪಟ್ಟಿ, ಏನೋ ಇದು ನಾವು ಒಂದು ಅಂಶಗಳಿಲ್ಲ ನಾವು ಪಡೆಯಲು ಅರ್ಥ ಈ ನೋಡ್ ಅಳಿಸಲು ಆದರೆ ಸಲುವಾಗಿ ನಾವು ಅದು ಮಾಡಲು ಯಾವುದೇ ಮಾಹಿತಿ ಕಳೆದುಕೊಳ್ಳುವುದಿಲ್ಲ, ಈ ಸಂಪರ್ಕ ಅಗತ್ಯವಿದೆ ಇಲ್ಲಿ ಇಲ್ಲಿ ನೋಡ್. ಆದ್ದರಿಂದ ನಾನು ಬಹುಶಃ ತಪ್ಪು ಮಾಡಿದರು ಒಂದು ದೃಶ್ಯ ದೃಷ್ಟಿಕೋನದಿಂದ. ನಾವು ಆರಂಭದಲ್ಲಿ ಆರ್ ನಮ್ಮ ಪಟ್ಟಿ, ನಾವು ಮೂಲಕ ಮುಂದುವರಿಯುವುದಕ್ಕೆ ನೀವು ನಾವು ಈ ನೋಡ್ ಅಳಿಸಲು. , ನಾವು ಅದನ್ನು ಅಳಿಸಿದರೆ ನಾವು ಸರಣಿ ಮುರಿದು ಬಂದಿದೆ. ಇಲ್ಲಿಯೇ ಈ ನೋಡ್ ಉಳಿದಂತೆ ಸೂಚಿಸುತ್ತದೆ, ಇದು ಔಟ್ ನಲ್ಲಿ ಇಲ್ಲಿಂದ ಸರಣಿ ಹೊಂದಿದೆ. ನಾವು ನಿಜವಾಗಿ ಏನನ್ನು ಮಾಡಬೇಕು ನಾವು ಈ ಹಂತದವರೆಗೆ ಪಡೆಯಲು ನಂತರ, ನಾವು ಒಂದು ಮತ್ತೆ ಹೆಜ್ಜೆ ಅಗತ್ಯವಿದೆ, ಮತ್ತು ಈ ನೋಡ್ ಈ ನೋಡ್ ಸಂಪರ್ಕಿಸಲು, ಆದ್ದರಿಂದ ನಾವು ನಂತರ ಅಳಿಸಬಹುದು ಮಧ್ಯದಲ್ಲಿ ಒಂದು. ಆದರೆ ಒಂದೊಂದಾಗಿ ಲಿಂಕ್ ಪಟ್ಟಿಗಳನ್ನು ಇಲ್ಲ ನಮಗೆ ಹಿಂದಕ್ಕೆ ಹೋಗಿ ಒಂದು ರೀತಿಯಲ್ಲಿ ಒದಗಿಸುತ್ತದೆ. ನಾವು ಎರಡೂ ಇರಿಸಿಕೊಳ್ಳಲು ಅಗತ್ಯವಿದೆ ಎರಡು ಪಾಯಿಂಟರ್ಸ್, ಮತ್ತು ಅವುಗಳನ್ನು ಸರಿಸಲು ಆಫ್ ಹಂತದ ರೀತಿಯ, ಹಿಂದೆ ಒಂದು ಇತರ ನಾವು ಹೋಗಿ, ಅಥವಾ ಒಂದು ಅಂಕ ಪಡೆಯಲು ಎಂದು ತದನಂತರ ಮೂಲಕ ಮತ್ತೊಂದು ಪಾಯಿಂಟರ್ ಕಳುಹಿಸಿ. ಮತ್ತು ನೀವು, ಇದು ನೋಡಬಹುದು ಸ್ವಲ್ಪ ಗೊಂದಲಮಯ ಪಡೆಯುವುದು. ಅದೃಷ್ಟವಶಾತ್, ನಾವು ಮತ್ತೊಂದು ರೀತಿಯಲ್ಲಿ ಎಂದು ಪರಿಹರಿಸಲು, ನಾವು ದುಪ್ಪಟ್ಟು ಲಿಂಕ್ ಪಟ್ಟಿಗಳನ್ನು ಬಗ್ಗೆ ಮಾತನಾಡಲು. ನಾನು ಡೌಗ್ ಲಾಯ್ಡ್ ಮನುಷ್ಯ, ಈ CS50 ಹೊಂದಿದೆ.