You are to complete a partial program  incorporating a function DelOddCopEven that is to delete all odd-valued nodes and copy each even-valued node of a given list:   ● The original order in which the remaining (even-valued) nodes must be preserved, with each original node and its duplicate appearing together. Algorithm should:        ○ NOT destroy any of the originally even-valued node.          ♯ This means that the originally even-valued nodes should be retained as part of the resulting list.       ○ Destroy ONLY nodes that are originally odd-valued.       ○ Create new nodes and copy data between nodes ONLY when duplicating originally even-valued nodes.         ♯ Only ONE new node should be created for each originally even-valued node.         ♯ Creating pointer-to-node's (to provide temporary storage for node addresses) does not constitute creating new nodes or copying of items.       ○ NOT make any temporary copies of any of the data items (using any kind of data structures including but not limited to arrays, linked lists and trees).         ♯ This means that the algorithm should largely involve the manipulation of pointers.     ► Function must be iterative (NOT recursive) - use only looping construct(s), without the function calling itself (directly or indirectly).     ► Function should not call any other functions to help in performing the task.

Database System Concepts
7th Edition
ISBN:9780078022159
Author:Abraham Silberschatz Professor, Henry F. Korth, S. Sudarshan
Publisher:Abraham Silberschatz Professor, Henry F. Korth, S. Sudarshan
Chapter1: Introduction
Section: Chapter Questions
Problem 1PE
icon
Related questions
Question
You are to complete a partial program  incorporating a function DelOddCopEven that is to delete all odd-valued nodes and copy each even-valued node of a given list:
  The original order in which the remaining (even-valued) nodes must be preserved, with each original node and its duplicate appearing together.
Algorithm should: 
      NOT destroy any of the originally even-valued node. 
        This means that the originally even-valued nodes should be retained as part of the resulting list.
      Destroy ONLY nodes that are originally odd-valued.
      Create new nodes and copy data between nodes ONLY when duplicating originally even-valued nodes.
        Only ONE new node should be created for each originally even-valued node.
        Creating pointer-to-node's (to provide temporary storage for node addresses) does not constitute creating new nodes or copying of items.
      NOT make any temporary copies of any of the data items (using any kind of data structures including but not limited to arrays, linked lists and trees).
        This means that the algorithm should largely involve the manipulation of pointers.
    Function must be iterative (NOT recursive) - use only looping construct(s), without the function calling itself (directly or indirectly).
    Function should not call any other functions to help in performing the task.
TOMANDOHEMIAZZANO
1
2
3
4
5
6 struct Node
7 {
8
9
10 };
11
12 int FindList Length (Node* headptr);
IsSorted Up (Node* headptr);
14
13 bool
void InsertAsHead (Node* & headPtr, int value);
15 void InsertAsTail(Node* & headPtr, int value);
16 void InsertSorted Up (Node* & headPtr, int value);
17 bool DelFirstTargetNode (Node* & headPtr, int target);
18 bool DelNodeBeforelstMatch (Node* & headPtr, int target);
ShowA11(std::ostream& outs, Node* headptr);
19 void
void FindMinMax (Node* headPtr, int& minValue, int& maxValue);
double FindAverage (Node* headptr);
void ListClear (Node*& headPtr, int noMsg = 0);
// prototype of DelOddCopEven of Assignment 5 Part 1
20
21
22
23
#ifndef LLCP_INT_H
#define LLCP_INT_H
#include <iostream>
24
25
26
27
int data;
Node *link;
28
#endif
Transcribed Image Text:TOMANDOHEMIAZZANO 1 2 3 4 5 6 struct Node 7 { 8 9 10 }; 11 12 int FindList Length (Node* headptr); IsSorted Up (Node* headptr); 14 13 bool void InsertAsHead (Node* & headPtr, int value); 15 void InsertAsTail(Node* & headPtr, int value); 16 void InsertSorted Up (Node* & headPtr, int value); 17 bool DelFirstTargetNode (Node* & headPtr, int target); 18 bool DelNodeBeforelstMatch (Node* & headPtr, int target); ShowA11(std::ostream& outs, Node* headptr); 19 void void FindMinMax (Node* headPtr, int& minValue, int& maxValue); double FindAverage (Node* headptr); void ListClear (Node*& headPtr, int noMsg = 0); // prototype of DelOddCopEven of Assignment 5 Part 1 20 21 22 23 #ifndef LLCP_INT_H #define LLCP_INT_H #include <iostream> 24 25 26 27 int data; Node *link; 28 #endif
HNMASONEA
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
SIZNING~~~~~mmmmmmm
22
25
26
24 {
27
23 bool IsSortedUp (Node* headPtr)
28
29
30
31
32
33
34
35
include <iostream>
#include <cstdlib>
#include "11cpInt.h"
using namespace std;
37
// definition of DelOddCopEven of Assignment 5 Part 1
// (put at near top to facilitate printing and grading)
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
int FindList Length (Node* headptr)
int length = 0;
while (headPtr != 0)
59
60
++length;
headPtr = headPtr->link;
return length;
if (headPtr == 0 || headPtr->link == 0) // empty or 1-node
return true;
while (headPtr->link != 0) // not at last node
{
36 void InsertAsHead (Node* & headPtr, int value)
{
if (headPtr->link->data < headPtr->data)
return false;
headPtr = headPtr->link;
}
return true;
Node *newNodePtr = new Node;
newNodePtr->data = value;
newNodePtr->link = headPtr;
headPtr = newNodePtr;
}
void InsertAsTail (Node* & headPtr, int value)
{
Node *newNodePtr = new Node;
newNodePtr->data = value;
newNodePtr->link = 0;
if (headPtr == 0)
headPtr = newNodePtr;
else
{
Node *cursor = headPtr;
while (cursor->link != 0) // not at last node
cursor = cursor->link;
cursor->link = newNodePtr;
Transcribed Image Text:HNMASONEA 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 SIZNING~~~~~mmmmmmm 22 25 26 24 { 27 23 bool IsSortedUp (Node* headPtr) 28 29 30 31 32 33 34 35 include <iostream> #include <cstdlib> #include "11cpInt.h" using namespace std; 37 // definition of DelOddCopEven of Assignment 5 Part 1 // (put at near top to facilitate printing and grading) 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 int FindList Length (Node* headptr) int length = 0; while (headPtr != 0) 59 60 ++length; headPtr = headPtr->link; return length; if (headPtr == 0 || headPtr->link == 0) // empty or 1-node return true; while (headPtr->link != 0) // not at last node { 36 void InsertAsHead (Node* & headPtr, int value) { if (headPtr->link->data < headPtr->data) return false; headPtr = headPtr->link; } return true; Node *newNodePtr = new Node; newNodePtr->data = value; newNodePtr->link = headPtr; headPtr = newNodePtr; } void InsertAsTail (Node* & headPtr, int value) { Node *newNodePtr = new Node; newNodePtr->data = value; newNodePtr->link = 0; if (headPtr == 0) headPtr = newNodePtr; else { Node *cursor = headPtr; while (cursor->link != 0) // not at last node cursor = cursor->link; cursor->link = newNodePtr;
Expert Solution
trending now

Trending now

This is a popular solution!

steps

Step by step

Solved in 4 steps with 9 images

Blurred answer
Knowledge Booster
Topological Sort
Learn more about
Need a deep-dive on the concept behind this application? Look no further. Learn more about this topic, computer-science and related others by exploring similar questions and additional content below.
Similar questions
  • SEE MORE QUESTIONS
Recommended textbooks for you
Database System Concepts
Database System Concepts
Computer Science
ISBN:
9780078022159
Author:
Abraham Silberschatz Professor, Henry F. Korth, S. Sudarshan
Publisher:
McGraw-Hill Education
Starting Out with Python (4th Edition)
Starting Out with Python (4th Edition)
Computer Science
ISBN:
9780134444321
Author:
Tony Gaddis
Publisher:
PEARSON
Digital Fundamentals (11th Edition)
Digital Fundamentals (11th Edition)
Computer Science
ISBN:
9780132737968
Author:
Thomas L. Floyd
Publisher:
PEARSON
C How to Program (8th Edition)
C How to Program (8th Edition)
Computer Science
ISBN:
9780133976892
Author:
Paul J. Deitel, Harvey Deitel
Publisher:
PEARSON
Database Systems: Design, Implementation, & Manag…
Database Systems: Design, Implementation, & Manag…
Computer Science
ISBN:
9781337627900
Author:
Carlos Coronel, Steven Morris
Publisher:
Cengage Learning
Programmable Logic Controllers
Programmable Logic Controllers
Computer Science
ISBN:
9780073373843
Author:
Frank D. Petruzella
Publisher:
McGraw-Hill Education