Professional Documents
Culture Documents
Include
Include
h>
#include <stdlib.h>
//-------------Leaner Search-------------
int index,position=-1,found=0;
for(index=0;index<size&&!found;index++)
if (d[index]==key)
found=1;
position=index;
}return position;
int main()
float d[10]={9,5,1,3,7,4,6,2,8,10};
return 0;
#include <stdio.h>
#include <stdlib.h>
int first=0,last=size-1,found=0,position=-1,mid;
while(!found&&last>=first)
mid=(first+last)/2;
if(d[mid]==key)
found=1;
position=mid;
else if(d[mid]>key)
last=mid-1;
else
first=mid+1;
}return position;
int main()
{
float d[10]={1,2,3,4,5,6,7,8,9,10};
return 0;
#include <stdio.h>
#include <stdlib.h>
int main()
float d[10]={1,2,3,4,5,6,7,8,9,10};
return 0;
#include <stdio.h>
#include <stdlib.h>
//-------------Bubble Sort-------------
float temp;
temp=*p1;
*p1=*p2;
*p2=temp;
int swaping,i;
do
{ swaping=0;
for (i=0;i<size-1;i++)
if (d[i]>d[i+1])
swaping=1;
swap(&d[i],&d[i+1]);
}while (swaping);
int main()
int i,size=10;
bSort(d,10);
for(i=0;i<size;i++)
printf("%.0f \t",d[i]);
return 0;
#include <stdio.h>
#include <stdlib.h>
//-------------Selection Sort-------------
float temp;
temp=*p1;
*p1=*p2;
*p2=temp;
int minid,i;
float min;
min=d[0];
for (i=1;i<size;i++)
if (d[i]<min)
{
minid=i;
min=d[i];
return minid;
if (size>1){
swap(&d[0],&d[minin(&d[0],size)]);
return selectsort(&d[1],size-1);
int main()
float d[10]={9,5,1,2,3,6,4,7,10,8};
selectsort(d,10);
int i,size=10;
for(i=0;i<size;i++){
printf("%.0f\t",d[i]);
return 0;
#include <stdio.h>
#include <stdlib.h>
#define SIZE 10
//-------------Stack-------------
int sp;};
return s->sp=-1;
return s->sp==SIZE;
return s->sp==-1;
s->data[++s->sp]=item;
int temp;
temp=s->data[s->sp];
--(s->sp);
return temp;
return s->data[s->sp];
int main()
int i=0;
init(&s1);
while (!full(&s1))
push(&s1,i++);
while (!emp(&s1))
printf("%d\t",pop(&s1));
return 0;
#include <stdio.h>
#include <stdlib.h>
#define SIZE 10
//-------------Queue-------------
int head,tail;};
return ++item<=SIZE?item:0;
return q->head=q->tail=0;
return increment(q->tail)==q->head;
return q->tail==q->head;
{
q->data[q->tail]=item;
q->tail=increment(q->tail);
int temp;
temp=q->data[q->head];
q->head=increment(q->head);
return temp;
int i=1;
init(&q1);
while(!full(&q1))
enqueue(&q1,i++);
while(!emp(&q1))
printf("%d\t",dequeue(&q1));
return 0;