Explanation of Solution
Define an abstract data type that represents list of names using Java class syntax.
Abstract data type is used to store the data in a structure and provides different method to manipulate the data stored.
//The interface is created using the following method
interface Names
{
// Declare a method pushback()
public void pushback(String str);
// Declare a method popback()
public String popback();
// Declare a method getname()
public String getname (int x);
}
// Interface is implemented by defining the class namelist
class namelist implements Names
{
// Declare an array
private String[] name;
// Declare an integer size
private int size;
// Definition of constructor
public namelist()
{
// Size is initialized
size=0
}
// Define a method pushback()
public void pushback(String str)
{
// Assign string
name[size]=str;
// Increment the size
size++;
}
// Define a method popback()
public String popback()
{
// Decrement the size and return the name
return name[--size];
}
// Define a method getname()
public String getname(int x)
{
// Check the condition
if(x<size)
// Return name
return name[x];
// Otherwise
else
// Return null
return null;
}
// Define a method display()
public void display()
{
// For loop to iterate the loop
for(int i=0;i<size;i++)
{
// Print the names
System...

Want to see the full answer?
Check out a sample textbook solution
Chapter 8 Solutions
COMPUTER SCIENCE:OVERVIEW-TEXT
- 4. Suppose we have a perfect binary tree with height h 0 representing a heap, meaning it = has n 2+1 1 keys indexed from 1 to 2+1 1. When we run convertomaxheap we run maxheapify in reverse order on every key with children. Let's examine the worst-case - In the worst-case every single key gets swapped all the way to the leaf level. (a) For each level in the tree there are a certain number of nodes and each of those nodes [10 pts] requires a certain number of swaps. Fill in the appropriate values/expressions in the table: Level Number of Keys Number of Swaps per Key 0 2 .. (b) Write down a sum for the total number of swaps required. This should involve h, not n. [10 pts] Totalarrow_forwardThe next problem concerns the following C code: /copy input string x to buf */ void foo (char *x) { char buf [8]; strcpy((char *) buf, x); } void callfoo() { } foo("ZYXWVUTSRQPONMLKJIHGFEDCBA"); Here is the corresponding machine code on a Linux/x86 machine: 0000000000400530 : 400530: 48 83 ec 18 sub $0x18,%rsp 400534: 48 89 fe mov %rdi, %rsi 400537: 48 89 e7 mov %rsp,%rdi 40053a: e8 di fe ff ff callq 400410 40053f: 48 83 c4 18 add $0x18,%rsp 400543: c3 retq 400544: 0000000000400544 : 48 83 ec 08 sub $0x8,%rsp 400548: bf 00 06 40 00 mov $0x400600,%edi 40054d: e8 de ff ff ff callq 400530 400552: 48 83 c4 08 add $0x8,%rsp 400556: c3 This problem tests your understanding of the program stack. Here are some notes to help you work the problem: ⚫ strcpy(char *dst, char *src) copies the string at address src (including the terminating '\0' character) to address dst. It does not check the size of the destination buffer. • You will need to know the hex values of the following characters:arrow_forward1234 3. Which line prevents compiler optimization? Circle one: 1234 Suggested solution: Store strlen(str) in a variable before the if statement. ⚫ Remove the if statement. Replace index 0 && index < strlen(str)) { 5 } } = str [index] = val;arrow_forward
- C++ for Engineers and ScientistsComputer ScienceISBN:9781133187844Author:Bronson, Gary J.Publisher:Course Technology PtrC++ Programming: From Problem Analysis to Program...Computer ScienceISBN:9781337102087Author:D. S. MalikPublisher:Cengage LearningProgramming Logic & Design ComprehensiveComputer ScienceISBN:9781337669405Author:FARRELLPublisher:Cengage
- Systems ArchitectureComputer ScienceISBN:9781305080195Author:Stephen D. BurdPublisher:Cengage LearningNew Perspectives on HTML5, CSS3, and JavaScriptComputer ScienceISBN:9781305503922Author:Patrick M. CareyPublisher:Cengage Learning



