{
printf("nhap vao du lieu, -1 de ket thuc:");
scanf("%d",&Data);
if(Data==-1)
break;
AddHead(pRoot,Data);
}while(Data!=-1);
printf("
Du lieu da dc nhap:
");
PrintList(pRoot);
RemoveAll(pRoot);
getch();
}
các thuật toán sắp xếp
#include<iostream.h>
#include<conio.h>
int LinearExhaustive(int a[],int n,int x);
int LinearSentinel(int a[],int n,int x);
int BinarySearch(int a[],int n,int x);
void nhapmang(int a[],int &n);
void main()
{
clrscr();
int x,a[100],n;
nhapmang(a,n);
cout<<"nhap so can tim:";
cin>>x;
cout<<BinarySearch(a,n,x);
//cout<<LinearSentinel(a,n,x);
//cout<<LinearExhaustive(a,n,x);
getch();
}
void nhapmang(int a[],int &n)
{
int x;
cout<<"nhap so luong mang:";
cin>>n;
for(int i=0;i<n;i++)
{
cin>>a[i];
}
}
int LinearExhaustive(int a[], int n, int x)
{
for(int i=0;i<n;i++)
{
if(a[i]==x)
{
return i;
}
}
return -1;
}
int BinarySearch(int a[],int n,int x)
{
int l=0,r=n-1;
while(l<=r)
{
int m=(l+r) /2;
if(a[m]==x)
{
return m;
}
else
{
if(x<a[m])
{
r=m-1;
}
else
{
l=m+1;
}
}
}
return -1;
}
int LinearSentinel(int a[],int n,int x)
{
a[n]=x;
for(int i=0; ;i++)
{
if(a[i]==x)
{
return i;
}
}
}
lap trinh c
Start bij het begin
