Skip to content

Create javafile #23

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
wants to merge 2 commits into
base: master
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
96 changes: 96 additions & 0 deletions Merge_Sort.cpp
Original file line number Diff line number Diff line change
@@ -0,0 +1,96 @@
#include <stdio.h>
#include <stdlib.h>

// Merges two subarrays of arr[].
// First subarray is arr[l..m]
// Second subarray is arr[m+1..r]
void merge(int arr[], int l, int m, int r)
{
int i, j, k;
int n1 = m - l + 1;
int n2 = r - m;

/* create temp arrays */
int L[n1], R[n2];

/* Copy data to temp arrays L[] and R[] */
for (i = 0; i < n1; i++)
L[i] = arr[l + i];
for (j = 0; j < n2; j++)
R[j] = arr[m + 1 + j];

/* Merge the temp arrays back into arr[l..r]*/
i = 0; // Initial index of first subarray
j = 0; // Initial index of second subarray
k = l; // Initial index of merged subarray
while (i < n1 && j < n2) {
if (L[i] <= R[j]) {
arr[k] = L[i];
i++;
}
else {
arr[k] = R[j];
j++;
}
k++;
}

/* Copy the remaining elements of L[], if there
are any */
while (i < n1) {
arr[k] = L[i];
i++;
k++;
}

/* Copy the remaining elements of R[], if there
are any */
while (j < n2) {
arr[k] = R[j];
j++;
k++;
}
}

/* l is for left index and r is right index of the
sub-array of arr to be sorted */
void mergeSort(int arr[], int l, int r)
{
if (l < r) {
// Same as (l+r)/2, but avoids overflow for
// large l and h
int m = l + (r - l) / 2;

// Sort first and second halves
mergeSort(arr, l, m);
mergeSort(arr, m + 1, r);

merge(arr, l, m, r);
}
}

/* UTILITY FUNCTIONS */
/* Function to print an array */
void printArray(int A[], int size)
{
int i;
for (i = 0; i < size; i++)
printf("%d ", A[i]);
printf("\n");
}

/* Driver program to test above functions */
int main()
{
int arr[] = { 12, 11, 13, 5, 6, 7 };
int arr_size = sizeof(arr) / sizeof(arr[0]);

printf("Given array is \n");
printArray(arr, arr_size);

mergeSort(arr, 0, arr_size - 1);

printf("\nSorted array is \n");
printArray(arr, arr_size);
return 0;
}
43 changes: 43 additions & 0 deletions javafile
Original file line number Diff line number Diff line change
@@ -0,0 +1,43 @@
import java.io.*;//to import IO-Package
public class indices//to declare class
{
public static void main(String args[])throws IOException//to define the main function and handle Input/Output Exceptions
{
InputStreamReader read=new InputStreamReader(System.in);//Defining Buffered-Reader class
BufferedReader in=new BufferedReader(read);
int n;//to store the length of the array
n=Integer.parseInt(in.readLine());
int arr[]=new int[n];//to declare and initialize the array
int i;//loop variable
for(i=0;i<n;i++)//loop for taking array values as input
arr[i]=Integer.parseInt(in.readLine());//to take input of the array from user
int tar;//to enter the target number
tar=Integer.parseInt(in.readLine());
int s;//to find sum of nos in array
int p=0;int l=0;int k=0;//to store the indices
int j;//loop variable
for(i=0;i<n;i++)
{
for(j=0;j<n;j++)
{
s=arr[i]+arr[j];
if(s==tar)//if the sum equals the target variable
{
p=1;//flag variable
l=i;//to store the first indices
k=j;//to store the second indices
break;
}
else
continue;
}
}
if(p==1)
{
System.out.println(l);
System.out.println(k);
}
else
System.out.println("No such indices");
}
}