The document discusses four basic searching and sorting algorithms: binary search, linear search, bubble sort, and selection sort. It provides code examples in C++ for implementing each algorithm and explains their functions.
Download as DOCX, PDF, TXT or read online on Scribd
0 ratings0% found this document useful (0 votes)
7 views
Data Structure and Analysis Algorithm Lab Manual
The document discusses four basic searching and sorting algorithms: binary search, linear search, bubble sort, and selection sort. It provides code examples in C++ for implementing each algorithm and explains their functions.
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 6
Data Structure and Analysis Algorithm
Simple Searching and Sorting Algorithms:
1. Binary Searching // C++ program to implement iterative Binary Search #include <bits/stdc++.h> using namespace std;
// An iterative binary search function.
int binarySearch(int arr[], int l, int r, int x) { while (l <= r) { int m = l + (r - l) / 2;
// Check if x is present at mid
if (arr[m] == x) return m;
// If x greater, ignore left half
if (arr[m] < x) l = m + 1;
// If x is smaller, ignore right half
else r = m - 1; } // If we reach here, then element was not present return -1; } // Driver code int main(void) { int arr[] = { 2, 3, 4, 10, 40 }; int x = 10; int n = sizeof(arr) / sizeof(arr[0]); int result = binarySearch(arr, 0, n - 1, x); (result == -1) ? cout << "Element is not present in array" : cout << "Element is present at index " << result; return 0; } 2. Linear Search #include <stdio.h> main() { int LA[] = {1,3,5,7,8}; int item = 5, n = 5; int i = 0, j = 0; printf("The original array elements are :\n"); for(i = 0; i<n; i++) { printf("LA[%d] = %d \n", i, LA[i]); } while( j < n) { if( LA[j] == item ) { break; } j = j + 1; } printf("Found element %d at position %d\n", item, j+1); } 3. Bubble Sort Algorithm // C++ program for implementation // of Bubble sort #include <bits/stdc++.h> using namespace std; // A function to implement bubble sort void bubbleSort(int arr[], int n) { int i, j; for (i = 0; i < n - 1; i++) // Last i elements are already // in place for (j = 0; j < n - i - 1; j++) if (arr[j] > arr[j + 1]) swap(arr[j], arr[j + 1]); } // Function to print an array void printArray(int arr[], int size) { int i; for (i = 0; i < size; i++) cout << arr[i] << " "; cout << endl; } // Driver code int main() { int arr[] = { 5, 1, 4, 2, 8}; int N = sizeof(arr) / sizeof(arr[0]); bubbleSort(arr, N); cout << "Sorted array: \n"; printArray(arr, N); return 0; } 4. Selection Sort Algorithm // C++ program for implementation of // selection sort #include <bits/stdc++.h> using namespace std; //Swap function void swap(int *xp, int *yp) { int temp = *xp; *xp = *yp; *yp = temp; } void selectionSort(int arr[], int n) { int i, j, min_idx; // One by one move boundary of // unsorted subarray for (i = 0; i < n-1; i++) { // Find the minimum element in // unsorted array min_idx = i; for (j = i+1; j < n; j++) if (arr[j] < arr[min_idx]) min_idx = j; // Swap the found minimum element // with the first element swap(&arr[min_idx], &arr[i]); } } //Function to print an array void printArray(int arr[], int size) { int i; for (i=0; i < size; i++) cout << arr[i] << " "; cout << endl; } // Driver program to test above functions int main() { int arr[] = {64, 25, 12, 22, 11}; int n = sizeof(arr)/sizeof(arr[0]); selectionSort(arr, n); cout << "Sorted array: "; printArray(arr, n); return 0; } Advanced Searching and Sorting Algorithms Shell Sort Quick Sort Heap Sort Merge Sort