Beta 0.35.0
Beta
Search
Dashboard
Learn
Exercises
Challenges
Compete
Visualizer
What's new
v0.35.0
Search
Search for a chapter, module, exercise, challenge, page, or profile
Dashboard
Learn
Exercises
Challenges
Compete
Visualizer
Sign in
Path
Learn C graph
Catalog preview
0%
Get started
0 / 5 modules
Structure your code
0 / 4 modules
Text
0 / 6 modules
Memory
0 / 3 modules
Your own types
0 / 5 modules
The machine
0 / 4 modules
The system
0 / 1 modules
First program
0 / 7
Read the error
0 / 5
Types and values
0 / 7
Conditions and loops
0 / 7
Command line
0 / 6
Functions
0 / 5
Recursion
0 / 6
Pointers
0 / 7
Arrays and matrices
0 / 7
Characters and ASCII
0 / 4
Strings: walking and…
0 / 6
Writing text without…
0 / 4
Words and tokens
0 / 4
Transforming text
0 / 5
Numbers and bases
0 / 6
Dynamic memory
0 / 5
Bytes and raw memory
0 / 4
Memory safety
0 / 6
Structs, unions, enu…
0 / 6
Headers and the prep…
0 / 3
Linked lists
0 / 4
Stacks, queues, trees
0 / 3
Generic code
0 / 3
Bits and representat…
0 / 4
Sorting and searching
0 / 7
Files and streams
0 / 3
Parsing and formats
0 / 4
Processes and signals
0 / 4
C foundations checkpo…
5 tasks · not ready
Code structure checkp…
4 tasks · not ready
Text handling checkpo…
5 tasks · not ready
Memory safety checkpo…
3 tasks · not ready
Types and data struct…
4 tasks · not ready
Machine model checkpo…
4 tasks · not ready
Processes and signals…
2 tasks · not ready
Chapter checkpoints
100%
Fit
Sorting and searching
Loop invariants, halving a range, and what an algorithm costs.
Required exercises
0 / 7
7 required exercises
·
0 optional
·
Difficulty 2 to 4
·
0 / 116 XP
Exercises · 7
Exercise
Level
XP
Status
is_sorted
int is_sorted(const int *a, size_t n)
+12
New
sort_array
void sort_array(int *tab, unsigned int size)
+24
New
binary_search
long binary_search(size_t n, int key, int (*at)(size_t))
+16
New
insertion_steps
void insertion_steps(int *a, size_t n, void (*report)(const int *, size_t))
+16
New
partition
size_t partition(int *a, size_t lo, size_t hi)
+16
New
merge_runs
void merge_runs(const int *left, size_t ln, const int *right, size_t rn, int *out)
+16
New
sort_cost
unsigned long sort_cost(int *a, size_t n)
+16
New
View module
Complete
Recommended now
In progress
Available
Learn checkpoint