how to find the kth smallest element in the given list of
array elemnts.
Answers were Sorted based on User's Feedback
Answer / jyothi
first the given list must be sorted using any of the
sorting tecniques and then taking the kth element in that
resultent array will give the answer
or
another tecnique is using quick sort it will be easier
and time complexity is also very less.sorry i dont have
enough time to write the program here dontmind
| Is This Answer Correct ? | 25 Yes | 13 No |
Answer / khaja moulali shiak
int kmin(int a[],int n,int k)
{
int i;
int j;
int l;
int u;
int x;
int t;
l=1;
u=n;
while(l<u)
{
i=l;
j=u;
x=a[k];
while((i<=k)&&(j>=k))
{
while(a[i]<x) i++;
while(a[j]>x) j--;
swap(a[i],a[j]);
i++;
j--;
}
if(j<k) l=i;
if(i>k) u=j;
}
return(a[k]);
}
| Is This Answer Correct ? | 10 Yes | 6 No |
Answer / siva
This is a problem of Kth smallest element of QUICK SORT technique
| Is This Answer Correct ? | 6 Yes | 2 No |
Answer / newclient
sorting is not required in this case.u can still use same
technique(not exactly) as mentioned in Cormen.an algorithm
named "QuickSelect" which has an average complexity of
O(nlong(n)).
Anyways to reduce the number of comparisions one can use
tournament algorithm and for kth element we have to
recursively go through the loosers list.
| Is This Answer Correct ? | 9 Yes | 6 No |
Answer / sunil
This is a problem of "Order statistics". A good link describing all possible solutions along with code and output is at below link.
http://www.rawkam.com/?p=870
| Is This Answer Correct ? | 1 Yes | 4 No |
#include<stdio.h>
#include<conio.h>
void main()
{
int a[10],i,s,c=0; clrscr();
printf("enter the elements in the list :\n");
for(i=0;i<=9;i++)
{
scanf("%d",&a[i]);
}
s=a[0];
for(i=1;i<=9;i++)
{
if(s>a[i])
{
s=a[i];
c++;
break;
}
}
printf("small is\t %d\nfound on\t %d\n",s,c+1);
getch();
}
| Is This Answer Correct ? | 0 Yes | 3 No |
Answer / ruchi
#include<stdio.h>
#include<conio.h>
int main()
{
int a[10],i,j,n,temp;
printf("\nEnter the number of elements int he array ");
scanf("%d",&n);
printf("\nEnter the elements ");
for(i=0;i<n;i++)
{
scanf("%d",&a[i]);
}
for(i=0;i<n;i++)
{
for(j=i+1;j<n;j++)
{
if(a[i]>a[j])
{
temp=a[i];
a[i]=a[j];
a[j]=temp;
}
}
}
printf("\nThe smallest element is ");
for(i=0;i<n;i++)
{
printf("%d\n",a[i]);
break;
}
getch();
}
| Is This Answer Correct ? | 12 Yes | 28 No |
Answer / shil
#include <stdio.h>
#include<conio.h>
main()
{
int a[20], i,n;
printf("ent how many elements u want to enter");
scanf("%d",&n);
printf("enter the elements");
for(i=1;i<=n;i++)
scanf("%d",&a[i]));
s=a[1];
for(i=2;i<=n;i++)
{
if
{
s>a[i]
s=a[i]
}
}
printf("the smallest element is %d",s);
}
hope this correct if it is wrong plz let me know
| Is This Answer Correct ? | 19 Yes | 60 No |
sqrt(x+sqrt(x+sqrt(x+sqrt(x))))=2; Find the value of x?
main() { printf("\n %d %d %d",sizeof('3'),sizeof("3"),sizeof(3)); }
State the difference between x3 and x[3].
What are the phases in s/w developed life cycle? wat is the diff b/w stack & queue...where do we use stack
what are the stoge class in C and tel the scope and life time of it?
char ch="{'H','I',0};printf("%s",ch);what is output
How are portions of a program disabled in demo versions?
Difference between C and Embedded C?
Why is void main used?
how can make variable not in registers
can we store values and addresses in the same array? explain
what does data structure mean?