C Program to calculate the total execution time of a program.

Measuring program execution time in C helps you benchmark algorithms and quantify how long different approaches take. The standard tool is the clock() function from <time.h>, which measures CPU time consumed by the program — not wall-clock time. Two snapshots (before and after) divided by CLOCKS_PER_SEC give you the elapsed time in seconds. clock() and …

C Program to sort the string, using shell sort technique.

Shell sort is a generalization of insertion sort that sorts elements far apart before sorting adjacent ones. Invented by Donald Shell in 1959, it repeatedly applies insertion sort on sublists of decreasing “gap” sizes until the gap reaches 1 — at which point one final insertion sort on the nearly-sorted array runs in near-linear time. …

Merge Sort in C – Algorithm, Program, and Complexity

Merge sort in C is a classic divide-and-conquer sorting algorithm that guarantees O(n log n) time in all cases. It splits an array into halves, recursively sorts each half, then merges the sorted halves back together. Unlike bubble sort or insertion sort, merge sort never degrades to O(n²) — making it the preferred choice when …

Insertion Sort in C – Program, Algorithm and Complexity

Insertion sort is one of the simplest sorting algorithms and works exactly the way you sort a hand of playing cards. You take one card at a time and insert it into its correct position among the cards already sorted in your hand. It sorts the array one element at a time, building the sorted …

C Program to reverse the first n characters in a file.

This program reads a filename and a count n from the command line, reads the first n characters from the file, reverses them in-place using a two-pointer swap, and prints the result. It demonstrates combining command-line argument parsing, file I/O with fread(), and in-place string reversal in a single practical program. The original post used …

C program which copies one file contents to another file.

Copying a file in C demonstrates how to combine file I/O functions (fopen, fgetc, fputc, fclose) with command-line arguments to build a practical utility. The program reads filenames from argv, opens both files, copies byte-by-byte, and reports how many bytes were transferred. The original version used conio.h, process.h, void main(), and stored the return value …