## Data Structures Programs in C

STACK
C Program to Implement a Stack using Singly Linked List
C Program to Reverse a Stack using Recursion
C Program to Check String is Palindrome using Stack
C program to Check for balanced Parentheses in an Expression using Stack

LINKED LIST
Inserting a node at front and end of linked List
Inserting a node after a given node in linked List
Find Length of a Linked List using Loop and Recursion
Delete a Node from a Singly Linked List
Program to Reverse a Linked List using Loop and Recursion
Print a Linked List in Reverse Order using Recursion
Merge Two Sorted Linked List
Write a
Program to Delete a Linked list
Program to Check if a Singly Linked List is Palindrome
Program to Print Alternate Nodes of Linked List
Program to Find Nth Node from the End of a Linked List
C Program to Find Middle Node of a Linked List
Convert a Singly Linked List to Circular Linked List
Program to Search an Element in Linked List using Loop and Recursion
C Program to Implement a Stack using Singly Linked List
Find Union and Intersection of Two Linked List
C Program to Find Cycle in a Linked List

BINARY TREE
Program to Calculate Size of a Binary Tree
Program to Check if Two Trees are Identical
Program to Find Height of a Binary Tree
C Program to Delete a Binary Tree using Recursion
C Program to Count Leaf Nodes in a Binary Tree
Program to Find Diameter of a Binary Tree
Program to Find Maximum Node of Binary Tree
Program to Find Minimum Node of Binary Tree
C Program to Clone a Binary Tree
Program to Create a Mirror Image of a Binary Tree
Print Level of All nodes in a Binary Tree
Program to Find Least Common Ancestor in a Binary Tree
Print all Nodes of a Binary Tree Less Than N
Find Sum of All Left Leaf Nodes of Binary Tree
Convert a Binary Tree to its Sum Tree
Program to Check Whether a Binary Tree is Complete Tree or Not
Print all Root to Leaf paths of a Binary Tree
Program to Find Minimum Depth of a Binary Tree
C Program to Check Root to Leaf Path Sum Equal to a Given Number
C Program to Check Whether a Binary Tree is Height Balanced or Not
Program to Check Children Sum Property in a Binary Tree
Program to check if a binary tree is subtree of another binary tree
Program to Print Ancestors of a Node in Binary Tree
C Program to Print Level of a Given Node in Binary Tree
Print all Nodes of Binary Tree at Given Level
C Program to Find Maximum Width of Binary Tree

MATRIX
C Program to Add Two Matrix
C Program for Subtraction of Two Matrix
C Program to Find Transpose of a Matrix
C Program to Find Sum of Diagonal Elements of Matrix
C Program to Find Scalar Multiplication of a Matrix
C Program to Print Lower Triangular Matrix
C Program to Print Upper Triangular Matrix
C Program for Multiply two Matrices
C Program to Print a Matrix Diagonally
C Program to Check Identity Matrix
C Program to Compare If two Matrices are Equal
C Program to Find Sum of Lower Triangular Matrix
C Program to Find Sum of Upper Triangular Matrix
C Program Swap Major and Minor Diagonals of a Square Matrix
C Program to Find Sum of Each Row and Column of a Matrix
C Program to Check Whether a Matrix is Sparse Matrix
C Program to Check Whether a Matrix is Symmetric Matrix

ARRAY
C Program to read and print elements of an array
C Program to find sum of all elements of an array
C Program to find maximum elements in an array
C program to insert an element in an array
C program to delete an element from an array
C program to delete duplicate elements from an array
C Program to print unique elements of an unsorted array
C program to find maximum and minimum element of an array
C Program to create a duplicate array
C program to find number of duplicate elements in an array
C Program to find count of each element of an array
C Program to sort elements of an array in increasing order
Program to Find the Number Occurring Odd Number of Times
Program to Separate Even and Odd numbers of Array
Program to Find Maximum and Minimum Number of an Array using Tournament Method
Program to Separate 0 and 1 in an Array
Find Largest Subarray with Equal Number of 0 and 1
Program to Find a Pair with Given Difference
Find the Smallest Missing Positive Number in an Unsorted Array
Program to Find Duplicate Elements in Linear Time and Constant Space
Find a Row of a Matrix Having Maximum Number of 1
Program to Find a Sub Array Whose Sum is Zero
C Program to Find Majority Element of Array
Program to Merge One Sorted Array into Another Sorted Array
Reverse Array Elements Using Recursion
C Program to Check Majority Element in a Sorted Array
Program to Find Occurrences of a Number in Sorted Array
C Program to Find Missing Number in Array
Program to Rotate an Array by N Positions
Program to Search an Element in a Sorted and Rotated Array
Program to find Pivot Element of a Sorted and Rotated Array
C Program to Find a Pair Whose Sum is Closest to Zero
Program to Rearrange Positive and Negative Number Alternatively
C Program to Move All Zeroes to the End of Array
Find Triplet Whose Sum is Equal to Given Number
Program to Count Number of Possible Triangles using Array Elements
Program to Maximize Profit by Selling and Buying Shares
Program to Rotate Array Using Block Swap Algorithm
Program to Find a Pair Whose Sum is Equal to Given Number
C Program to Print Distinct Elements of Array
Program to Find Pythagorean Triplet in an Array
Program to Find Common Elements of Three Sorted Array
C Program to Find Four Elements Whose Sum is Equal to S
Program to Check One Array is Subset of Another Array
Program to find SubArray Whose Sum is Equal to Given Number
Program to Implement Two Stacks in an Array
Program to Find Largest and Second Largest Element in an Array
Program to Find Maximum Difference Between a Pair of Elements
Program to Find Union and Intersection of Two Sorted Arrays
C Program to Find Ceiling of a Number in Sorted Array
C Program to Find Floor of a Number in Sorted Array
C Program to Sort an Array Containing 0, 1 and 2.
Program to find Maximum Repeating Element of Array in O(n) Time.