1answer.
Ask question
Login Signup
Ask question
All categories
  • English
  • Mathematics
  • Social Studies
  • Business
  • History
  • Health
  • Geography
  • Biology
  • Physics
  • Chemistry
  • Computers and Technology
  • Arts
  • World Languages
  • Spanish
  • French
  • German
  • Advanced Placement (AP)
  • SAT
  • Medicine
  • Law
  • Engineering
antoniya [11.8K]
3 years ago
13

In this part, you have to implement a linked list that maintains a list of integers in sorted order. Thus, if the list contains

2, 5 and 8, then 1 will be inserted at the start of the list, 3 will be inserted between 2 and 5 and 10 will be inserted at the end. The list can contain duplicate elements. 1 Input format: This program takes a le name as an argument from the command line. The le is either blank or contains successive lines of input. Each line contains a character, either `i' or `d', followed by a tab character and then an integer. For each of the lines that starts with `i', your program should insert that number in the linked list in sorted order. If it is already there, your program can insert it before or after the existing entry. If the line starts with a `d', your program should delete the rst value if it is present in the linked list. If there are duplicates your program must delete just the rst occurrence of the value. Your program should silently ignore the line if the requested value is not present in the linked list.
Computers and Technology
1 answer:
kupik [55]3 years ago
7 0

Answer:

#include <stdio.h>   // header file

#include <stdlib.h>

struct node{    //define structure "node"

int data;

struct node* next;    // object

};

struct node* add(struct node* head, int num);

struct node* delete(struct node* head, int num);

void print(struct node* head);

int size(struct node* head);

int main(int argc, char* argv[]){

FILE *fp = NULL;

struct node* head = NULL;

int num;

char command;

if(argc != 2){

printf("Please provide input filename as a command line argument\n");

return 1;

}

fp = fopen(argv[1], "r");

if(fp == NULL){

printf("error\n");

return 1;

}

fscanf(fp, "%c %d", &command, &num);

while(!feof(fp)){

if(command == 'i')

head = add(head, num);

else if(command == 'd')

head = delete(head, num);

fscanf(fp, "%c %d", &command, &num);

}

fclose(fp);

printf("%d\n",size(head));

print(head);

}

struct node* add(struct node* head, int num){

struct node* prev = NULL;

struct node* curr = head;

struct node* n = (struct node*) malloc(sizeof(struct node));

n->data = num;

n->next = NULL;

while(curr != NULL){

if(num < curr->data) //found a place to insert

break;

else if(num == curr->data) //duplicate

return head;

prev = curr;

curr = curr->next;

}

n->next = curr;

if(prev != NULL)

prev->next = n;

else

head = n;

return head;

}

struct node* delete(struct node* head, int num){

struct node* prev = NULL;

struct node* curr = head;

while(curr != NULL){

if(num < curr->data)

return head;

else if(num == curr->data)

break;

prev = curr;

curr = curr->next;

}

if(curr == NULL) //did not find

return head;

if(prev == NULL) //remove 1st node

head = curr->next;

else

prev->next = curr->next;

free(curr);

return head;

}

void print(struct node* head)

{

struct node* curr = head;

if(head != NULL){

printf("%d", curr->data);

curr = curr->next;

while(curr != NULL){

printf("\t%d", curr->data);

curr = curr->next;

}

}

printf("\n");

}

int size(struct node* head){

struct node* curr = head;

int count = 0;

while(curr != NULL){

count++;

curr = curr->next;

}

return count;

}

Output:

Provide input filename as a command-line argument

Test2 sg$ ./.s.out in.txt

2  5  8

1  2  3  5  10

Test2 sg$  

Explanation:

we create a link list of integer in sorted order then if we input as 2  5  8, then 1  insert at the starting of the list and 3 in middle of 2 and 5 and 10 is inserted at the last.

You might be interested in
Expain the application areas of ICT in education sector and E-commerce​
miss Akunina [59]

Explanation:

<em>N</em><em>o</em><em>w</em><em>a</em><em>d</em><em>a</em><em>y</em><em>s</em><em> </em><em>a</em><em>l</em><em>m</em><em>o</em><em>s</em><em>t</em><em> </em><em>a</em><em>l</em><em>l</em><em> </em><em>t</em><em>h</em><em>e</em><em> </em><em>s</em><em>c</em><em>h</em><em>o</em><em>o</em><em>l</em><em> </em><em>a</em><em>n</em><em>d</em><em> </em><em>c</em><em>o</em><em>l</em><em>l</em><em>e</em><em>g</em><em>e</em><em> </em><em>u</em><em>s</em><em>e</em><em> </em><em>c</em><em>o</em><em>m</em><em>p</em><em>u</em><em>t</em><em>e</em><em>r</em><em>s</em><em> </em><em>i</em><em>n</em><em> </em><em>c</em><em>l</em><em>a</em><em>s</em><em>s</em><em>r</em><em>o</em><em>o</em><em>m</em><em>s</em><em> </em><em>a</em><em>n</em><em>d</em><em> </em><em>l</em><em>a</em><em>b</em><em>s</em><em> </em><em>t</em><em>o</em><em> </em><em>t</em><em>e</em><em>a</em><em>c</em><em>h</em><em> </em><em>s</em><em>t</em><em>u</em><em>d</em><em>e</em><em>n</em><em>t</em><em>s</em><em>.</em><em>A</em><em> </em><em>t</em><em>e</em><em>a</em><em>c</em><em>h</em><em>e</em><em>r</em><em> </em><em>c</em><em>a</em><em>n</em><em> </em><em>t</em><em>e</em><em>a</em><em>c</em><em>h</em><em> </em><em>e</em><em>f</em><em>f</em><em>e</em><em>c</em><em>t</em><em>i</em><em>v</em><em>e</em><em>l</em><em>y</em><em> </em><em>u</em><em>s</em><em>i</em><em>n</em><em>g</em><em> </em><em>c</em><em>o</em><em>m</em><em>p</em><em>u</em><em>t</em><em>e</em><em>r</em><em>-</em><em>b</em><em>a</em><em>s</em><em>e</em><em>d</em><em> </em><em>p</em><em>r</em><em>e</em><em>s</em><em>e</em><em>n</em><em>t</em><em>a</em><em>t</em><em>i</em><em>o</em><em>n</em><em>s</em><em>.</em><em>S</em><em>t</em><em>u</em><em>d</em><em>e</em><em>n</em><em>t</em><em>s</em><em> </em><em>c</em><em>a</em><em>n</em><em> </em><em>s</em><em>t</em><em>u</em><em>d</em><em>y</em><em> </em><em>d</em><em>i</em><em>f</em><em>f</em><em>e</em><em>r</em><em>e</em><em>n</em><em>t</em><em> </em><em>s</em><em>u</em><em>b</em><em>j</em><em>e</em><em>c</em><em>t</em><em>s</em><em> </em><em>a</em><em>n</em><em>d</em><em> </em><em>c</em><em>o</em><em>m</em><em>p</em><em>l</em><em>e</em><em>t</em><em>e</em><em> </em><em>t</em><em>h</em><em>e</em><em>i</em><em>r</em><em> </em><em>a</em><em>s</em><em>s</em><em>i</em><em>g</em><em>n</em><em>m</em><em>e</em><em>n</em><em>t</em><em> </em><em>b</em><em>y</em><em> </em><em>u</em><em>s</em><em>i</em><em>n</em><em>g</em><em> </em><em>d</em><em>i</em><em>f</em><em>f</em><em>e</em><em>r</em><em>e</em><em>n</em><em>t</em><em> </em><em>s</em><em>o</em><em>f</em><em>t</em><em>w</em><em>a</em><em>r</em><em>e</em><em> </em><em>i</em><em>n</em><em> </em><em>c</em><em>o</em><em>m</em><em>p</em><em>u</em><em>t</em><em>e</em><em>r</em><em>.</em><em>T</em><em>h</em><em>e</em><em> </em><em>C</em><em>o</em><em>m</em><em>p</em><em>u</em><em>t</em><em>e</em><em>r</em><em> </em><em>B</em><em>a</em><em>s</em><em>e</em><em>d</em><em> </em><em>T</em><em>r</em><em>a</em><em>i</em><em>n</em><em>i</em><em>n</em><em>g</em><em>(</em><em>C</em><em>B</em><em>T</em><em>)</em><em> </em><em>a</em><em>n</em><em>d</em><em> </em><em>W</em><em>e</em><em>b</em><em> </em><em>B</em><em>a</em><em>s</em><em>e</em><em>d</em><em> </em><em>T</em><em>r</em><em>a</em><em>i</em><em>n</em><em>i</em><em>n</em><em>g</em><em>(</em><em>W</em><em>B</em><em>T</em><em>)</em><em> </em><em>a</em><em>r</em><em>e</em><em> </em><em>a</em><em>i</em><em>d</em><em> </em><em>t</em><em>o</em><em> </em><em>t</em><em>e</em><em>a</em><em>c</em><em>h</em><em> </em><em>t</em><em>h</em><em>e</em><em> </em><em>s</em><em>t</em><em>u</em><em>d</em><em>e</em><em>n</em><em>t</em><em> </em><em>i</em><em>n</em><em> </em><em>t</em><em>h</em><em>e</em><em> </em><em>c</em><em>l</em><em>a</em><em>s</em><em>s</em><em>r</em><em>o</em><em>o</em><em>m</em><em>.</em>

<em>E</em><em>-</em><em>c</em><em>o</em><em>m</em><em>m</em><em>e</em><em>r</em><em>c</em><em>e</em><em> </em><em>i</em><em>s</em><em> </em><em>a</em><em> </em><em>f</em><em>i</em><em>n</em><em>a</em><em>n</em><em>c</em><em>i</em><em>a</em><em>l</em><em> </em><em>b</em><em>u</em><em>s</em><em>i</em><em>n</em><em>e</em><em>s</em><em>s</em><em> </em><em>t</em><em>r</em><em>a</em><em>n</em><em>s</em><em>a</em><em>c</em><em>t</em><em>i</em><em>o</em><em>n</em><em> </em><em>c</em><em>o</em><em>n</em><em>d</em><em>u</em><em>c</em><em>t</em><em>e</em><em>d</em><em> </em><em>e</em><em>l</em><em>e</em><em>c</em><em>t</em><em>r</em><em>o</em><em>n</em><em>i</em><em>c</em><em>a</em><em>l</em><em>l</em><em>y</em><em> </em><em>b</em><em>e</em><em>t</em><em>w</em><em>e</em><em>e</em><em>n</em><em> </em><em>b</em><em>u</em><em>s</em><em>i</em><em>n</em><em>e</em><em>s</em><em>s</em><em> </em><em>p</em><em>a</em><em>r</em><em>t</em><em>n</em><em>e</em><em>r</em><em>s</em><em> </em><em>o</em><em>v</em><em>e</em><em>r</em><em> </em><em>t</em><em>h</em><em>e</em><em> </em><em>i</em><em>n</em><em>t</em><em>e</em><em>r</em><em>n</em><em>e</em><em>t</em><em>.</em><em>B</em><em>u</em><em>s</em><em>i</em><em>n</em><em>e</em><em>s</em><em>s</em><em> </em><em>t</em><em>r</em><em>a</em><em>n</em><em>s</em><em>a</em><em>c</em><em>t</em><em>i</em><em>o</em><em>n</em><em>s</em><em> </em><em>c</em><em>a</em><em>n</em><em> </em><em>o</em><em>c</em><em>c</em><em>u</em><em>r</em><em> </em><em>v</em><em>e</em><em>r</em><em>y</em><em> </em><em>q</em><em>u</em><em>i</em><em>c</em><em>k</em><em>l</em><em>y</em><em> </em><em>a</em><em>n</em><em>d</em><em> </em><em>g</em><em>l</em><em>o</em><em>b</em><em>a</em><em>l</em><em>l</em><em>y</em><em>.</em><em>T</em><em>h</em><em>e</em><em> </em><em>p</em><em>e</em><em>o</em><em>p</em><em>l</em><em>e</em><em> </em><em>c</em><em>a</em><em>n</em><em> </em><em>b</em><em>u</em><em>y</em><em>,</em><em>s</em><em>e</em><em>l</em><em>l</em><em> </em><em>a</em><em>n</em><em>d</em><em> </em><em>e</em><em>x</em><em>c</em><em>h</em><em>a</em><em>n</em><em>g</em><em>e</em><em> </em><em>t</em><em>h</em><em>e</em><em> </em><em>p</em><em>r</em><em>o</em><em>d</em><em>u</em><em>c</em><em>t</em><em>s</em><em> </em><em>o</em><em>r</em><em> </em><em>s</em><em>e</em><em>r</em><em>v</em><em>i</em><em>c</em><em>e</em><em>s</em><em> </em><em>u</em><em>s</em><em>i</em><em>n</em><em>g</em><em> </em><em>i</em><em>n</em><em>t</em><em>e</em><em>r</em><em>n</em><em>e</em><em>t</em><em>.</em><em>T</em><em>o</em><em>d</em><em>a</em><em>y</em><em>s</em><em> </em><em>m</em><em>a</em><em>n</em><em>y</em><em> </em><em>c</em><em>o</em><em>m</em><em>p</em><em>u</em><em>t</em><em>e</em><em>r</em><em> </em><em>c</em><em>a</em><em>n</em><em> </em><em>a</em><em>l</em><em>s</em><em>o</em><em> </em><em>a</em><em>c</em><em>c</em><em>e</em><em>s</em><em>s</em><em> </em><em>t</em><em>h</em><em>e</em><em> </em><em>I</em><em>n</em><em>t</em><em>e</em><em>r</em><em>n</em><em>e</em><em>t</em><em> </em><em>t</em><em>h</em><em>r</em><em>o</em><em>u</em><em>g</em><em>h</em><em> </em><em>w</em><em>i</em><em>r</em><em>e</em><em>l</em><em>e</em><em>s</em><em>s</em><em> </em><em>t</em><em>e</em><em>c</em><em>h</em><em>n</em><em>o</em><em>l</em><em>o</em><em>g</em><em>i</em><em>e</em><em>s</em><em>.</em>

8 0
3 years ago
Read the excerpt from Act 111, scene iii of Romeo and Juliet. Which is the best paraphrase of this dialogue
Rufina [12.5K]
I think that D is the answer
8 0
3 years ago
Which is true about TCP and UDP? Choose two answers.
vichka [17]

Answer:

TCP is a connection-oriented protocol

UDP does not acknowledge a receipt of data

Explanation:

TCP (Transmission Control Protocol) is a protocol to transfer data, this is one of the most important protocols on the entire internet, this method was implemented from the beginning of the network.

UDP (User Datagram Protocol) this is a protocol faster than TCP because this method doesn't establish a connection to sent data, in this case, always sent data, but TCP is more secure than UDP, and for that UDP is used to transfer music or videos, and TCP websites and database.

UDP doesn't need acknowledgment is done by UDP, is only concerned with speed.

7 0
4 years ago
What could be a summary sentence or phrase that captures your writing experience?
Natasha2012 [34]

<u>Answer:</u>

<em>A summary sentence should brief the whole content “what so ever the length of the original content” may be. </em>

For example, if you take a story, <em>moral will be the good example of summary. </em>One another example is when the teacher taught concept in the classroom, in the last few minutes of the class the teacher <em>would brief the whole into smaller points. </em>

Even nowadays, people go and visit movies only after seeing the review online. So once again the review is a small brief about the movie in one or two lines. <em>It should be crisp, use cherry-picked words, etc.</em>

3 0
3 years ago
For the Address Block 195.200.0.0/16 a. If you have 320 Customers that need 128 addresses/customer - will there be enough addres
Shkiper50 [21]

Answer / Explanation:

195.200.0.0/16

Note: Class C address can not be assigned a subnet mask of /16 because class c address has 24 bits assigned for network part.

2ⁿ = number of subnets

where n is additional bits borrowed from the host portion.

2ˣ - 2 = number of hosts

where x represent bits for the host portion.

Assuming we have 195.200.0.0/25

In the last octet, we have one bit for the network

number of subnets  = 2¹  =2 network addresses  

number of host = 2⁷ - 2= 126 network addresses per subnets

8 0
3 years ago
Other questions:
  • The strFirstName and strLastName variables contain the strings "Jane" and "Jones," respectively. Which of the following statemen
    14·1 answer
  • While working on a group project, you notice something does not look right in the presentation. You call a meeting with your tea
    14·2 answers
  • Employers will check you out on social media sites like Facebook, MySpace, and Twitter.
    6·2 answers
  • IPhone + iPad + iPod + iPod touch + iMac + MacBook + iBook + Apple =???
    11·2 answers
  • Where could an identity theft access your personal information?
    9·2 answers
  • Where is a 3D modeler most likely to work?
    6·1 answer
  • Carbon copy others who are..
    14·2 answers
  • You are creating a presentation and you have come to the last slide. you still have more information to add. what should you do?
    10·2 answers
  • Compared with other PC operating systems, the Linux-based operating systems:
    13·1 answer
  • DIRECTIONS: Organize your desktop. Name the 5 folders based on the files given below. Organize your own desktop by sorting the g
    12·1 answer
Add answer
Login
Not registered? Fast signup
Signup
Login Signup
Ask question!