#include #include #include typedef struct ArrayList s void **list; int size; int capacity; int delta capacity; ) ArrayList t, *ArrayList; void *arraylist_delete(ArrayList 1, int index) define *e, ncapacity, **nlist e - null if 1 is not empty and index >= 0 and index < size of 1 then e <- 1->list[index) decrease 1->size once shift elements between index + 1 to left by 1 ncapacity <- capacity of 1/2 if size of 1 <= ncapacity and ncapacity > e then nlist <- realloc(list of 1, ncapacity * size of (void *)) if nlist not null then list of 1 <- nlist capacity of 1 - ncapacity Osto nlist <- (void **)malloc(ncapacity * size of (void )) if nlist not null then memcpy (nlist, list of 1, size of 1 * size of (void )) free list of 1 list of 1 <- nlist capacity of 1 <- ncapacity endif endif endif return e

C++ Programming: From Problem Analysis to Program Design
8th Edition
ISBN:9781337102087
Author:D. S. Malik
Publisher:D. S. Malik
Chapter17: Linked Lists
Section: Chapter Questions
Problem 13PE
icon
Related questions
Question

in c!

function short!

according to the instructions given, we will write the code.!

lab05-2.C) NO Selection
1
#include <stdio.h>
2 #include <stdlib.h>
3
#include <string.h>
5 typedef struct ArrayList_s
{
7
void **list;
int size;
int capacityi
8.
9.
10
int delta_capacity;
11 } ArrayList_t, *ArrayList;
12
13
14
void *arraylist_delete(ArrayList 1, int index)
15
{
16
/*
17
define *e, ncapacity, **nlist
e <- null
if 1 is not empty and index >= 0 and index < size of 1 then
e <- 1->list[index]
18
19
20
21
decrease l->size once
shift elements between index + 1 to left by 1
ncaраcity <- сарасity of 1 / 2
if size of l <= ncapacity and ncapacity > 0 then
nlist <- realloc(list of 1, ncapacity * size of (void *))
22
23
24
25
26
if nlist not null then
27
list of 1 <- nlist
28
capacity of 1 <- ncapacity
29
else
30
nlist <- (void **)malloc(ncapacity * size of (void *))
31
if nlist not null then
32
memcpy(nlist, list of 1, size of 1 * size of (void *))
33
free list of 1
34
list of 1 <- nlist
35
capacity of 1 <- ncapacity
36
endif
37
endif
38
endif
39
return e
40
*/
41 }
42
43
Transcribed Image Text:lab05-2.C) NO Selection 1 #include <stdio.h> 2 #include <stdlib.h> 3 #include <string.h> 5 typedef struct ArrayList_s { 7 void **list; int size; int capacityi 8. 9. 10 int delta_capacity; 11 } ArrayList_t, *ArrayList; 12 13 14 void *arraylist_delete(ArrayList 1, int index) 15 { 16 /* 17 define *e, ncapacity, **nlist e <- null if 1 is not empty and index >= 0 and index < size of 1 then e <- 1->list[index] 18 19 20 21 decrease l->size once shift elements between index + 1 to left by 1 ncaраcity <- сарасity of 1 / 2 if size of l <= ncapacity and ncapacity > 0 then nlist <- realloc(list of 1, ncapacity * size of (void *)) 22 23 24 25 26 if nlist not null then 27 list of 1 <- nlist 28 capacity of 1 <- ncapacity 29 else 30 nlist <- (void **)malloc(ncapacity * size of (void *)) 31 if nlist not null then 32 memcpy(nlist, list of 1, size of 1 * size of (void *)) 33 free list of 1 34 list of 1 <- nlist 35 capacity of 1 <- ncapacity 36 endif 37 endif 38 endif 39 return e 40 */ 41 } 42 43
Expert Solution
steps

Step by step

Solved in 2 steps with 1 images

Blurred answer
Knowledge Booster
Concept of Parenthesis
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
C++ Programming: From Problem Analysis to Program…
C++ Programming: From Problem Analysis to Program…
Computer Science
ISBN:
9781337102087
Author:
D. S. Malik
Publisher:
Cengage Learning
Programming Logic & Design Comprehensive
Programming Logic & Design Comprehensive
Computer Science
ISBN:
9781337669405
Author:
FARRELL
Publisher:
Cengage
EBK JAVA PROGRAMMING
EBK JAVA PROGRAMMING
Computer Science
ISBN:
9781337671385
Author:
FARRELL
Publisher:
CENGAGE LEARNING - CONSIGNMENT