Professional Documents
Culture Documents
Data Structure 01
Data Structure 01
Data Structure 01
case 1:
SOURCE CODE: create();
break;
#include<stdio.h> case 2:
#include<conio.h> insert();
break;
int a[20], n, i, j, ch, pos, elem; case 3:
del();
void create(); break;
void insert(); case 4:
void del(); display();
void display(); break;
void insertend(); case 5:
void insertatanypos(); printf("\nEnd");
void delend(); getch();
void delanypos(); break;
void delanyele(); }
} while (ch < 5);
void main() }
{
clrscr(); void create()
do {
{ printf("\nEnter the size of the list:\t");
printf("\nMain menu"); scanf("%d", &n);
printf("\n**********"); printf("Enter the elements in the list:\t");
printf("\n1. Create");
printf("\n2. Insert"); for(i = 0; i < n; i++)
printf("\n3. Delete"); {
printf("\n4. Display"); scanf("%d", &a[i]);
printf("\n5. Exit"); }
printf("\nEnter the choice:\t"); }
scanf("%d", &ch);
void display()
switch(ch) {
printf("The sorted list is:\n"); void merge_split(int a[], int first, int last)
for (i = 0; i < n; i++) {
printf("%d\n", a[i]); int mid;
if (first < last)
getch(); {
} mid = (first + last) / 2;
merge_split(a, first, mid);
void merge(int a[], int f1, int f2, int l1, int l2) merge_split(a, mid + 1, last);
{ merge(a, first, mid + 1, mid, last);
int i, j, k = 0; }
i = f1; }
j = f2;
free(temp); 0. Create
} 1. Insert
else 2. Preorder
{ 3. Inorder
printf("Node with one child\n"); 4. Postorder
if (prev->rlink == temp) 5. Exit
{ 6. Delete
if (temp->llink == NULL)
{ Enter choice: 0
printf("Target is right child\n");
prev->rlink = temp->rlink; Enter the data: 10
}
else 0. Create
{ 1. Insert
prev->rlink = temp->llink; 2. Preorder
} 3. Inorder
} 4. Postorder
else 5. Exit
{ 6. Delete
if (temp->llink == NULL)
{ Enter choice: 1
prev->llink = temp->rlink;
} Enter the data: 5
else
{ 0. Create
prev->llink = temp->llink; 1. Insert
} 2. Preorder
} 3. Inorder
4. Postorder
free(temp); 5. Exit
int prims() {
int cost[MAX][MAX];
int u, v, min_distance, distance[MAX], from[MAX];
EX 18 : PRIM’S ALGORITHM int visited[MAX], no_of_edges, i, min_cost, j;
SOURCE CODE:
#include <stdio.h> // Create cost[][] matrix, spanning[][]
#include <stdlib.h> for (i = 0; i < n; i++)
#define infinity 9999 for (j = 0; j < n; j++) {
#define MAX 20 if (G[i][j] == 0)
cost[i][j] = infinity;
int G[MAX][MAX], spanning[MAX][MAX], n; else
cost[i][j] = G[i][j];
int prims(); spanning[i][j] = 0;
}
void main() { // Initialise visited[], distance[] and from[]
int i, j, total_cost; distance[0] = 0;
clrscr(); visited[0] = 1;