This is an old revision of the document!
This is a sample format for a dated entry. Please substitute the actual date for “Month Day, Year”, and duplicate the level 4 heading to make additional entries.
As an aid, feel free to use the following questions to help you generate content for your entries:
As a first time doing data structure project, I am very excited! XD
So I am done with my review project, dsi0. It's been a while using c language so I forgot most part of it. However, It became familiar as I use them :) For the project, I used switch for the selection of the menu. Because I used the switch, I put break after each cases. I got problem where the menu pops up twice. It was because of the character ENTER. So I used if statement for that and it worked fine! :) Also I used some techniques that I learned last semester such as fprintf,fscanf and arrays. It wasn't so hard but it was long.. I wasn't sure about the project at first , however, I think I finished project well. I am so happy with that because I forgot C a lot at first.
Today, I got some idea of how to finish the project sln0. I still don't sure about the difference of code between insert and append, however, I understand the concepts of them. Insert is something that goes before of the specific node and append goes after the node. I had hard time understanding what 'Assuming you do not know the composition of the list' means. I didn't know that it meant I know the list but computer don't. On a piece of paper, I finished the project based on my understanding. So I'm not sure if this is what Matt wants hmm… But the good news is that this singly linked thing is making sense to me. Actually, fun. I am so excited to do the next project, sln1! But, I am worried about how to make this work with “code”.
I finally get to write “real” code for singly linked node. The organization of directories were quite confusing. So it took me while adjusting to the directories. I forgot some of function part from C class so I didn't notice the return(). But I finally got it! :) The thing that really helped me was the “make check”. I really liked it. It was very convenient check if I have any errors in my code.
The node-app-display and node-app-arrtolist help me to see how the code can be shorter by using mknode. Also, I used while loop and if statement for cpnode. If I see more than one node, I copy the next node, too. Matt said it is the next project, however, I think I did that in this project. :) I am very glad that I am actually understanding “node” thing.
I almost submit late for sll0. I had so much hard time struggling this project. I spent all of the weekend for this and I finally submit it 3 hours before the deadline. I am really happy that I am not late. So the project was all about the list and making various functions with it. All of the project was hard for me. I struggled displayf for a long time and after figuring it out, pos.c was much of time consuming (not so hard). However, insert.c was the worst. I had same error everytime even if I fixed it a lot! So the problem came out to be that I did not consider myList → last points to the null. So if I say
newNode → after = myList → last;
newNode → after points to NULL, too. For the solution, I made new node that could be temporary myList → last. After I insert the node, I removed it. I think really hard for this. Once more, I recognize what pointer is.. hmm….
Wow! I finished sll1! This is unbelievable! I literally spent a whole week for this project. I had hard time making libraries for the functions in sll1. So many segmentation faults! I couldn't handle those. So I emailed Matt about it. Most of the time, I eventually figured it out with some assist. I just fixed some codes because of many returns. I reduced it to only one. I thought append wouldn't be that hard because I wrote code for insert a week ago. However, it was little bit different. So I did searchlist first. It was really easy compared to other functions. Displayb, too. Just reversing displayf. Then I figured out append. The problem was that I didn't set myList → last node after changing the last node to newnode. For cplist, I thought I did all right. However, it wasn't compiling. The problem was because my insert function wasn't working right. Maybe I should fix it. Then compare function. Aww.. It was hard come up with idea of how to make it. First part which was dealing with null and empty lists wasn't that hard. However, real compare part which includes position was somewhat confusing. I actually didn't understand the function well at first. The position is in parameter and I thought I was able to use it. But I had to adjust the value of the *pos. It was looong project and I saw sll2, sll3 and sll4 comming up. I will finish everything next week!!