Skip to content
Navigation Menu
Toggle navigation
Sign in
Product
Actions
Automate any workflow
Packages
Host and manage packages
Security
Find and fix vulnerabilities
Codespaces
Instant dev environments
GitHub Copilot
Write better code with AI
Code review
Manage code changes
Issues
Plan and track work
Discussions
Collaborate outside of code
Explore
All features
Documentation
GitHub Skills
Blog
Solutions
By size
Enterprise
Teams
Startups
By industry
Healthcare
Financial services
Manufacturing
By use case
CI/CD & Automation
DevOps
DevSecOps
Resources
Topics
AI
DevOps
Security
Software Development
Explore
Learning Pathways
White papers, Ebooks, Webinars
Customer Stories
Partners
Open Source
GitHub Sponsors
Fund open source developers
The ReadME Project
GitHub community articles
Repositories
Topics
Trending
Collections
Enterprise
Enterprise platform
AI-powered developer platform
Available add-ons
Advanced Security
Enterprise-grade security features
GitHub Copilot
Enterprise-grade AI features
Premium Support
Enterprise-grade 24/7 support
Pricing
Search or jump to...
Search code, repositories, users, issues, pull requests...
Search syntax tips
Provide feedback
Saved searches
Use saved searches to filter your results more quickly
Sign in
Sign up
You signed in with another tab or window.
Reload
to refresh your session.
You signed out in another tab or window.
Reload
to refresh your session.
You switched accounts on another tab or window.
Reload
to refresh your session.
Dismiss alert
{{ message }}
watercolor
/
algorithm
Public
Notifications
You must be signed in to change notification settings
Fork
0
Star
1
Code
Issues
0
Pull requests
0
Actions
Projects
0
Wiki
Security
Insights
Additional navigation options
Code
Issues
Pull requests
Actions
Projects
Wiki
Security
Insights
Files
master
Breadcrumbs
algorithm
/
list.c
Blame
Blame
Latest commit
History
History
36 lines (33 loc) · 672 Bytes
master
Breadcrumbs
algorithm
/
list.c
Top
File metadata and controls
Code
Blame
36 lines (33 loc) · 672 Bytes
Raw
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
#include
<stdio.h>
typedef
struct
list_node
{
int
data
;
struct
list_node
*
next
;
}
list_node
;
/* revert a list and return head after revert */
list_node
*
list_revert
(
list_node
*
list
)
{
list_node
*
last
=
NULL
;
list_node
*
next
;
while
(
list
) {
next
=
list
->
next
;
list
->
next
=
last
;
last
=
list
;
list
=
next
;
}
return
last
;
}
int
main
(
int
argc
,
const
char
*
argv
[])
{
list_node
a
[]
=
{
{
1
,
&
a
[
1
]},
{
2
,
&
a
[
2
]},
{
3
,
&
a
[
3
]},
{
4
,
NULL
}
};
list_node
*
list
=
list_revert
(
a
);
while
(
list
) {
printf
(
"%d\n"
,
list
->
data
);
list
=
list
->
next
;
}
return
0
;
}
You can’t perform that action at this time.