Please code in C language. Please do part 1 and 2. Do not recycle answers and implement the
starter code
Starter code:
#include <stdio.h>
#include <ctype.h>
#include <stdlib.h>
#include <string.h>
#include "linkedlist.h"
// print an error message by an error number, and return
// the function does not exit from the program
// the function does not return a value
void error_message(enum ErrorNumber errno) {
char *messages[] = {
"OK",
"Memory allocaton failed.",
"Deleting a node is not supported.",
"The number is not on the list.",
"Sorting is not supported.",
"Reversing is not supported.",
"Token is too long.",
"A number should be specified after character d, a, or p.",
"Token is not recognized.",
"Invalid error number."};
if (errno < 0 || errno > ERR_END)
errno = ERR_END;
printf("linkedlist: %sn", messages[errno]);
}
node *new_node(int v) {
node *p = malloc(sizeof(node)); // Allocate memory
if (p == NULL) {
error_message(ERR_NOMEM);
exit(-1);
}
// Set the value in the node.
p->v = v; // you could do (*p).v
p->next = NULL;
return p; // return
}
node *prepend(node *head, node *newnode) {
newnode->next = head;
return newnode;
}
node *find_node(node *head, int v) {
while (head != NULL) {
if (head->v == v)
return head;
head = head->next;
}
return head;
}
node *find_last(node *head) {
if (head != NULL) {
while (head->next != NULL)
head = head->next;
}
return head;
}
node *append(node *head, node *newnode) {
node *p = find_last(head);
newnode->next = NULL;
if (p == NULL)
return newnode;
p->next = newnode;
return head;
}
node *delete_list(node *head) {
while (head != NULL) {
node *p = head->next;
free(head);
head = p;
}
return head;
}
void print_list(node *head) {
printf("[");
while (head) {
printf("%d, ", head->v);
head = head->next;
}
printf("]n");
}
void print_node(node *p) {
printf("%p: v=%-5d next=%pn", p, p->v, p->next);
}
void print_list_details(node *head) {
while (head) {
print_node(head);
head = head->next;
}
}
// functions that have not been implemented
node *delete_node(node *head, int v) {
// TODO
error_message(ERR_NODELETE);
return head;
}
/*
* Given a pointer to the head node of an acyclic list, change the
* next links such that the nodes are linked in reverse order.
* Allocating new nodes or copying values from one node to another
* is not allowed, but you may use additional pointer variables.
* Return value is a pointer to the new head node.
*/
node *reverse_list(node *head) {
// TODO
error_message(ERR_NOREVERSE);
return head;
}
Part 1. Delete node. The linked list example we have studied in lecture maintains a singly linked
list of integers. The program can append and prepend integers to the list. Type help in the
program to see a list of commands. Note that if the number to be added is already on the list, the
program prints the information about the node that stores the number and does not add the
number twice. The list is displayed every time an integer is processed. Currently, the program
does not support the delete function. Complete the function delete.node() in linkedlist. c so that
the program can delete an integer from the list. The prototype of the function is: [ text { node }
* text { delete_node(node } * text { head, int v); } ] head is a pointer to the head node and v is
the integer to be removed. The function returns the pointer to the head node of the new list,
which could be the same as head. If v is not on the list, the function prints a message using the
following function call: error_message(ERR_NOTFOUND). Below is an example session using
the delete feature. $ ./1inkedlist-main 123456789 [ 1 , [ 1 , 2 , [ 1 , 2 , 3 , [ 1 , 2 , 3 , 4 , [ 1 , 2 , 3 ,
4 , 5 , [ 1 , 2 , 3 , 4 , 5 , 6 , [ 1 , 2 , 3 , 4 , 5 , 6 , 7 , [ 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , [ 1 , 2 , 3 , 4 , 5 , 6 ,
7 , 8 , 9 , d5 [ 1 , 2 , 3 , 4 , 6 , 7 , 8 , 9 , d3 [ 1 , 2 , 4 , 6 , 7 , 8 , 9 , d3 linkedlist: The number is not
on the list. [ 1 , 2 , 4 , 6 , 7 , 8 , 9 , Part 2. List reversal. In this exercise, we implement another
function reverse_list () in linkedlist. The prototype of the function is: [ text { node } * text {
reverse_list (node } * text { head); } ] The function receives head as its sole argument, a pointer
to the head node of the linked list. Assun the list is acyclic. The function must change the next
fields of each node so that the nodes end up link in reverse order. The function must return the
address of the new head node (originally last in the list You may use additional functions and
local variables besides those already included in the starter code, b cannot change the values
stored in the nodes or dynamically allocate new nodes. You can use either a lod or recursion.
Below is an example session using the reversal feature. $./ linkedlist-main 1234556789 [ 1 , [ 1 ,
2 , [ 1 , 2 , 3 , [ 1 , 2 , 3 , 4 , [ 1 , 2 , 3 , 4 , 5 , [ 1 , 2 , 3 , 4 , 5 , 6 ,

More Related Content

PDF
Write a program in C that does the followinga) Builds a simple li.pdf
PDF
write recursive function that calculates and returns the length of a.pdf
PPTX
C concepts and programming examples for beginners
DOCX
coding in C- Create a function called reverseList that takes the head.docx
PDF
TutorialII_Updated____niceupdateprogram.pdf
PDF
Inspect the class declaration for a doubly-linked list node in Node-h-.pdf
PPTX
C Exam Help
Write a program in C that does the followinga) Builds a simple li.pdf
write recursive function that calculates and returns the length of a.pdf
C concepts and programming examples for beginners
coding in C- Create a function called reverseList that takes the head.docx
TutorialII_Updated____niceupdateprogram.pdf
Inspect the class declaration for a doubly-linked list node in Node-h-.pdf
C Exam Help

Similar to Please code in C language- Please do part 1 and 2- Do not recycle answ.docx (20)

DOCX
Below is a depiction of a doubly-linked list implementation of the bag.docx
PDF
Introduction---to-Expression---Trees.pdf
PDF
PPS SSSSHHEHESHSHEHHEHAKAKHEHE12131415.pdf
PDF
maincpp Build and procees a sorted linked list of Patie.pdf
PDF
Merge Sort implementation in C++ The implementation for Mergesort gi.pdf
PDF
For this homework, you will write a program to create and manipulate.pdf
PPT
PE1 Module 4.ppt
PDF
C++ code, please help! RESPOND W COMPLETED CODE PLEASE, am using V.pdf
PPTX
UNIT 6structureofcprogrammingforppt.pptx
PPTX
C Homework Help
PPTX
Classes function overloading
PDF
C programming. Answer question only in C code Ninth Deletion with B.pdf
PDF
C Programming
PDF
Object Oriented Programming (OOP) using C++ - Lecture 5
DOCX
Write the definition of the linkedListKeepLast function- (Please write.docx
PDF
I need to implment a function that can reverse a single linked list..pdf
PPT
Php Reusing Code And Writing Functions
PDF
please help me with this and explain in details also in the first qu.pdf
PDF
The best every notes on c language is here check it out
DOCX
Write java program using linked list to get integer from user and.docx
Below is a depiction of a doubly-linked list implementation of the bag.docx
Introduction---to-Expression---Trees.pdf
PPS SSSSHHEHESHSHEHHEHAKAKHEHE12131415.pdf
maincpp Build and procees a sorted linked list of Patie.pdf
Merge Sort implementation in C++ The implementation for Mergesort gi.pdf
For this homework, you will write a program to create and manipulate.pdf
PE1 Module 4.ppt
C++ code, please help! RESPOND W COMPLETED CODE PLEASE, am using V.pdf
UNIT 6structureofcprogrammingforppt.pptx
C Homework Help
Classes function overloading
C programming. Answer question only in C code Ninth Deletion with B.pdf
C Programming
Object Oriented Programming (OOP) using C++ - Lecture 5
Write the definition of the linkedListKeepLast function- (Please write.docx
I need to implment a function that can reverse a single linked list..pdf
Php Reusing Code And Writing Functions
please help me with this and explain in details also in the first qu.pdf
The best every notes on c language is here check it out
Write java program using linked list to get integer from user and.docx
Ad

More from cgraciela1 (20)

DOCX
PLEASE HELP The above table shows the annual incomes of individuals.docx
DOCX
Please give examples on all of the following titles and solve them as.docx
DOCX
please give the answer please give the answer A product's life cycl.docx
DOCX
please give a details explanation- i tried but i keep getting erronou.docx
DOCX
Please explain- Thank you! 3- Show intermediate steps of sorting the a.docx
DOCX
Please explain why the answer is B instead of D 5- Which of the follow.docx
DOCX
Please Drawing this numbers using python Draw these follow.docx
DOCX
PLEASE don't copy and paste from a previous answer because it was inco.docx
DOCX
Please draw concept map Cdc45 Cdc6 Cdt1 Clamp Clamp loader CMG comp.docx
DOCX
Please dont copy paste a-What is customer service- b- Main theories o.docx
DOCX
PLEASE DONT COPY ANSWER Draw a DFA that accepts the strings that repre.docx
DOCX
Please do this for me!! I would gladly appreciate it- Write one result.docx
DOCX
Please copy and paste the code and explain why it won't work- It is su.docx
DOCX
Please complete all the code as per instructions in Java programming.docx
DOCX
please ask and answer questions in internet technologies in the follo.docx
DOCX
Please answer the multiple choice questions with detailed explanation.docx
DOCX
Please answer the following questions about the network of streets in.docx
DOCX
Please answer 16-29- thank you P4- Dissection of the Fetal Pig Ventr.docx
DOCX
Please answer the 3 questions- Case Study 2 Too Much Fatigue and Stres.docx
DOCX
Please answer the 4 questions using C- The expected output is shown be.docx
PLEASE HELP The above table shows the annual incomes of individuals.docx
Please give examples on all of the following titles and solve them as.docx
please give the answer please give the answer A product's life cycl.docx
please give a details explanation- i tried but i keep getting erronou.docx
Please explain- Thank you! 3- Show intermediate steps of sorting the a.docx
Please explain why the answer is B instead of D 5- Which of the follow.docx
Please Drawing this numbers using python Draw these follow.docx
PLEASE don't copy and paste from a previous answer because it was inco.docx
Please draw concept map Cdc45 Cdc6 Cdt1 Clamp Clamp loader CMG comp.docx
Please dont copy paste a-What is customer service- b- Main theories o.docx
PLEASE DONT COPY ANSWER Draw a DFA that accepts the strings that repre.docx
Please do this for me!! I would gladly appreciate it- Write one result.docx
Please copy and paste the code and explain why it won't work- It is su.docx
Please complete all the code as per instructions in Java programming.docx
please ask and answer questions in internet technologies in the follo.docx
Please answer the multiple choice questions with detailed explanation.docx
Please answer the following questions about the network of streets in.docx
Please answer 16-29- thank you P4- Dissection of the Fetal Pig Ventr.docx
Please answer the 3 questions- Case Study 2 Too Much Fatigue and Stres.docx
Please answer the 4 questions using C- The expected output is shown be.docx
Ad

Recently uploaded (20)

PPTX
2025 High Blood Pressure Guideline Slide Set.pptx
PDF
MICROENCAPSULATION_NDDS_BPHARMACY__SEM VII_PCI Syllabus.pdf
PDF
Disorder of Endocrine system (1).pdfyyhyyyy
PDF
faiz-khans about Radiotherapy Physics-02.pdf
PDF
THE CHILD AND ADOLESCENT LEARNERS & LEARNING PRINCIPLES
PDF
LIFE & LIVING TRILOGY - PART (3) REALITY & MYSTERY.pdf
PPTX
BSCE 2 NIGHT (CHAPTER 2) just cases.pptx
PDF
Journal of Dental Science - UDMY (2020).pdf
PPTX
ACFE CERTIFICATION TRAINING ON LAW.pptx
PDF
Farming Based Livelihood Systems English Notes
PPTX
Reproductive system-Human anatomy and physiology
PDF
PUBH1000 - Module 6: Global Health Tute Slides
PDF
Environmental Education MCQ BD2EE - Share Source.pdf
DOCX
Cambridge-Practice-Tests-for-IELTS-12.docx
PPTX
Thinking Routines and Learning Engagements.pptx
PPTX
Climate Change and Its Global Impact.pptx
PDF
Hospital Case Study .architecture design
PDF
Horaris_Grups_25-26_Definitiu_15_07_25.pdf
PDF
Compact First Student's Book Cambridge Official
PDF
African Communication Research: A review
2025 High Blood Pressure Guideline Slide Set.pptx
MICROENCAPSULATION_NDDS_BPHARMACY__SEM VII_PCI Syllabus.pdf
Disorder of Endocrine system (1).pdfyyhyyyy
faiz-khans about Radiotherapy Physics-02.pdf
THE CHILD AND ADOLESCENT LEARNERS & LEARNING PRINCIPLES
LIFE & LIVING TRILOGY - PART (3) REALITY & MYSTERY.pdf
BSCE 2 NIGHT (CHAPTER 2) just cases.pptx
Journal of Dental Science - UDMY (2020).pdf
ACFE CERTIFICATION TRAINING ON LAW.pptx
Farming Based Livelihood Systems English Notes
Reproductive system-Human anatomy and physiology
PUBH1000 - Module 6: Global Health Tute Slides
Environmental Education MCQ BD2EE - Share Source.pdf
Cambridge-Practice-Tests-for-IELTS-12.docx
Thinking Routines and Learning Engagements.pptx
Climate Change and Its Global Impact.pptx
Hospital Case Study .architecture design
Horaris_Grups_25-26_Definitiu_15_07_25.pdf
Compact First Student's Book Cambridge Official
African Communication Research: A review

Please code in C language- Please do part 1 and 2- Do not recycle answ.docx

  • 1. Please code in C language. Please do part 1 and 2. Do not recycle answers and implement the starter code Starter code: #include <stdio.h> #include <ctype.h> #include <stdlib.h> #include <string.h> #include "linkedlist.h" // print an error message by an error number, and return // the function does not exit from the program // the function does not return a value void error_message(enum ErrorNumber errno) { char *messages[] = { "OK", "Memory allocaton failed.", "Deleting a node is not supported.", "The number is not on the list.", "Sorting is not supported.", "Reversing is not supported.", "Token is too long.", "A number should be specified after character d, a, or p.", "Token is not recognized.", "Invalid error number."}; if (errno < 0 || errno > ERR_END)
  • 2. errno = ERR_END; printf("linkedlist: %sn", messages[errno]); } node *new_node(int v) { node *p = malloc(sizeof(node)); // Allocate memory if (p == NULL) { error_message(ERR_NOMEM); exit(-1); } // Set the value in the node. p->v = v; // you could do (*p).v p->next = NULL; return p; // return } node *prepend(node *head, node *newnode) { newnode->next = head; return newnode; } node *find_node(node *head, int v) { while (head != NULL) { if (head->v == v) return head; head = head->next;
  • 3. } return head; } node *find_last(node *head) { if (head != NULL) { while (head->next != NULL) head = head->next; } return head; } node *append(node *head, node *newnode) { node *p = find_last(head); newnode->next = NULL; if (p == NULL) return newnode; p->next = newnode; return head; } node *delete_list(node *head) { while (head != NULL) { node *p = head->next; free(head); head = p;
  • 4. } return head; } void print_list(node *head) { printf("["); while (head) { printf("%d, ", head->v); head = head->next; } printf("]n"); } void print_node(node *p) { printf("%p: v=%-5d next=%pn", p, p->v, p->next); } void print_list_details(node *head) { while (head) { print_node(head); head = head->next; } } // functions that have not been implemented node *delete_node(node *head, int v) { // TODO
  • 5. error_message(ERR_NODELETE); return head; } /* * Given a pointer to the head node of an acyclic list, change the * next links such that the nodes are linked in reverse order. * Allocating new nodes or copying values from one node to another * is not allowed, but you may use additional pointer variables. * Return value is a pointer to the new head node. */ node *reverse_list(node *head) { // TODO error_message(ERR_NOREVERSE); return head; } Part 1. Delete node. The linked list example we have studied in lecture maintains a singly linked list of integers. The program can append and prepend integers to the list. Type help in the program to see a list of commands. Note that if the number to be added is already on the list, the program prints the information about the node that stores the number and does not add the number twice. The list is displayed every time an integer is processed. Currently, the program does not support the delete function. Complete the function delete.node() in linkedlist. c so that the program can delete an integer from the list. The prototype of the function is: [ text { node } * text { delete_node(node } * text { head, int v); } ] head is a pointer to the head node and v is the integer to be removed. The function returns the pointer to the head node of the new list, which could be the same as head. If v is not on the list, the function prints a message using the following function call: error_message(ERR_NOTFOUND). Below is an example session using the delete feature. $ ./1inkedlist-main 123456789 [ 1 , [ 1 , 2 , [ 1 , 2 , 3 , [ 1 , 2 , 3 , 4 , [ 1 , 2 , 3 , 4 , 5 , [ 1 , 2 , 3 , 4 , 5 , 6 , [ 1 , 2 , 3 , 4 , 5 , 6 , 7 , [ 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , [ 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 , d5 [ 1 , 2 , 3 , 4 , 6 , 7 , 8 , 9 , d3 [ 1 , 2 , 4 , 6 , 7 , 8 , 9 , d3 linkedlist: The number is not on the list. [ 1 , 2 , 4 , 6 , 7 , 8 , 9 , Part 2. List reversal. In this exercise, we implement another function reverse_list () in linkedlist. The prototype of the function is: [ text { node } * text {
  • 6. reverse_list (node } * text { head); } ] The function receives head as its sole argument, a pointer to the head node of the linked list. Assun the list is acyclic. The function must change the next fields of each node so that the nodes end up link in reverse order. The function must return the address of the new head node (originally last in the list You may use additional functions and local variables besides those already included in the starter code, b cannot change the values stored in the nodes or dynamically allocate new nodes. You can use either a lod or recursion. Below is an example session using the reversal feature. $./ linkedlist-main 1234556789 [ 1 , [ 1 , 2 , [ 1 , 2 , 3 , [ 1 , 2 , 3 , 4 , [ 1 , 2 , 3 , 4 , 5 , [ 1 , 2 , 3 , 4 , 5 , 6 ,