Write a very basic doubly-linked list

Assignment Help C/C++ Programming
Reference no: EM1379691

Linked Lists 

Along with vectors, linked lists are one of the fundamental data structures in computer science. Unlike vectors, which store information in a contiguous block of computer memory, linked lists have the potential to store information in non-adjacent memory blocks. In this lab, you will write a very basic doubly-linked list. To complete this lab, you will need to have created the appropriate .h and .c files that

implement the following struct and functions: 

typedef struct IntList_t 

 int value; 

 struct IntList_t *previous; 

 struct IntList_t *next; 

} IntList_t; 

 

IntList_t* intList_init(int starting_value) 

Like our vector's init function, the LL version must dynamically create a new IntList_t and set its starting value as well as setting the previous and next pointers to NULL. 

IntList_t * intList_rewind(IntList_t *some_list) 

This function returns a pointer to the "beginning" of the linked list. For our purposes, we will consider the beginning of a linked list to be represented by the IntList_t whose previous pointer is equal to NULL. 

void intList_add(IntList_t *some_list, int value) 

This function will add a new IntList_t to the end of the current linked list. Note that for our purposes, the last element in the list is represented by the individual IntList_t whose next pointer is equal to NULL. 

void intList_remove(IntList_t *some_list) 

This function removes the supplied IntList_t from the current chain of list items. 

void intList_free(IntList_t *some_list) 

Freeing up dynamic memory allocated for a linked list is a little more work than freeing up dynamic memory for a vector. As such, this function should call free on every node in the linked list. 

Sample Output 

To test these methods, you must write a simple test driver in your main function. Here is an example of my test driver:  

2065_sample_output.png

Reference no: EM1379691

Questions Cloud

Determine a source code control system : Determine a source code control system and discuss why is such a system necessary when multiple programmers build a program or system?
Describe the concept of a signal : Assume when a child process is forked, a parent may wait for the successful completion of the child via the wait service so that return result of that application can be read from the procedure descriptor block.
Discuss mitigation strategies : It is determined that 3-out of 5-businesses that experience downtime of forty-eight hours or more will be out of business within three years.
Overview of multiprogramming mode : Member of coordinating a computer's activities is handling failure. This is called fault tolerance. Briefly explain about how a computer handles loss of power to limit the loss of all work
Write a very basic doubly-linked list : CptS 122 Lab #2: Linked Lists ,  Along with vectors, linked lists are one of the fundamental data structures in computer science. Unlike vectors, which store information in a contiguous block of computer memory, linked lists have the potential to sto..
Compute the net expected value for the project : You are considering to make modifications to an existing application. Compute the net expected value for the project risks and opportunities
Enable multimedia on a website : Few multimedia can be hard to watch on a mobile device due to screen size or bandwidth limitations. Determine two articles that discuss considerations and new developments that will enable multimedia on a site
Circuit switch and packet switch environment : Provide two examples of a circuit switch and packet switch environment. Base one example on a circuit switch and the other on a packet switch.
Determine the largest value : A soft real time system has 4-periodic events with periods of 50, 100, 200 and 250 msec each. Assume 4-events need 35, 20, 10 and X msec of CPU time, respectively.

Reviews

Write a Review

C/C++ Programming Questions & Answers

  Technical paper: memory management

Technical Paper: Memory Management, The intent of this paper is to provide you with an in depth knowledge of how memory is used in executing, your programs and its critical support for applications.

  Create class integerset

Create class IntegerSet for which each object can hold integers in the range 0 through 100. Represent the set internally as a vector of bool values. Element a[i] is true if integer i is in the set. Element a[j] is false if integer j is not in the set..

  Prepare a businesspartner

Prepare a BusinessPartner class that contains a company name, first name and a telephone number.

  Program to print out invalid number to character

The integer must contain 3 distinct non-zero number, or the program will print out invalid number.it should print out invalid query.

  Assign passed value to function to return value

Assign passed value to this member and another function to return value. Your main should read the integer from an input data file, and write the output to the output data file.

  Write a program that computes the cost of long distance call

Write a program that computes the cost of a long distance call. The cost of the call is determined according to the following rate schedules.

  State private portion of class to model the item

In c++ state the private portion of a class to model the given item: a class Date for dates consisting of a month, day and year. a class PhoneNumber for a telephone numbers consisting of area code, local exchange, and number.

  Write main function to compute stress-strain in steel rod

Write a main function and the following functions to compute the stress and strain in a steel rod of diameter D (inches) and length L (inches) subject to the compression loads.

  Construct vector and linked lists data structures

You will prepare sorted versions of the Linked Lists and Vector data structures developed in class

  Write application which ask user to input grades of students

Write C++ application which asks user to input grades for 5 student (3 grades each) save them in five double one dimensional arrays (one array for each student),

  Iterative programming problem solving approaches

Write a recursive function void reverse ( ) that reverse a sentence

  Develop a two dimensional interactive game

The player starts as a disk, but can "morph" (that is expand and contract) in selected directions

Free Assignment Quote

Assured A++ Grade

Get guaranteed satisfaction & time on delivery in every assignment order you paid with us! We ensure premium quality solution document along with free turntin report!

All rights reserved! Copyrights ©2019-2020 ExpertsMind IT Educational Pvt Ltd