Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
E
Excercise 1
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
Prog03 C
Excercise 1
Commits
4f92faac
Commit
4f92faac
authored
Nov 01, 2022
by
a-j.towse
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
WIP insertion AddNode
parent
0b8a11f3
Changes
1
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
39 additions
and
23 deletions
+39
-23
main.c
main.c
+39
-23
No files found.
main.c
View file @
4f92faac
...
@@ -111,34 +111,50 @@ int ListLength(node *start) {
...
@@ -111,34 +111,50 @@ int ListLength(node *start) {
}
}
void
AddNode
(
node
**
ptr_to_start
,
int
value
)
{
void
AddNode
(
node
**
ptr_to_start
,
int
value
)
{
node
*
temp
=
*
ptr_to_start
;
node
*
temp
=
*
ptr_to_start
;
node
*
new_node
=
NewNode
(
value
);
node
*
before
;
node
*
before
;
node
*
after
;
node
*
after
;
if
(
temp
==
NULL
)
{
if
(
*
ptr_to_start
==
NULL
)
{
// special case if the list is empty
AddNodeToStartOfList
(
ptr_to_start
,
value
);
*
ptr_to_start
=
new_node
;
return
;
}
}
else
{
while
(
temp
!=
NULL
)
{
if
(
temp
->
val
>
value
&&
temp
->
val
<
temp
->
next
->
val
){
while
(
temp
->
next
!=
NULL
&&
temp
->
next
->
val
<
value
)
{
before
=
temp
;
after
=
temp
->
next
;
if
(
ptr_to_start
==
temp
)
{
AddNodeToStartOfList
(
value
);
temp
=
NewNode
(
value
);
return
;
before
->
next
=
temp
;
}
temp
->
next
=
after
;
}
else
{
else
if
(
temp
->
next
==
NULL
){
temp
=
temp
->
next
;
AddNodeToEndOfList
(
ptr_to_start
,
value
);
}
else
{
temp
=
temp
->
next
;
}
}
}
}
}
}
NewNode
(
value
);
temp
->
next
=
/* Exercise Tasks
/* Exercise Tasks
1. Write a function int ListLength(*start) which traverses the list, counts the number of nodes and returns that count.
1. Write a function int ListLength(*start) which traverses the list, counts the number of nodes and returns that count.
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment