Bài Toán Sắp Xếp Chèn
Mã:
#include<conio.h>
#include<iostream.h>
int ds [100] ;
int n,x;
void taods (int a[], int&n)
{
int i;
for(i=0;i<n;i++)
{
printf("a[%d]=",i);
scanf("%d",&a[i]);
}
}
void xuatds (int a[],int n)
{
int i;
for (i=0;i<n;i++)
printf("%3d",a[i]);
}
void sx_ds(int a[],int n)
{
int j;
for (int i=1;i<n;i++)
{int x=a[i];
j=i-1;
while ((x<a[j])&&(j>=0))
{
a[j+1]=a[j];
j--;
}
a[j+1]=x;
getch();
printf("\n luot %d\n",i);
printf("\t i=%d\n",i);
printf("\t i=%d\n",j);
printf("\t x%d\n",x);
xuatds(ds,n);
}
return;
}
void main()
{
int n;
clrscr();
printf("nhap n=");scanf("%d",&n);
taods(ds,n);
printf("danh sach vua tao : \n");
xuatds(ds,n);
sx_ds(ds,n);
printf("\n danh sach vua sap xep : \n");
xuatds(ds,n);
getch();
}
Bài Toán Nổi Bọt
Mã:
#include<stdio.h>
#include<conio.h>
#include<iostream.h>
int ds [100] ;
int n,x;
void taods (int a[] , int&n)
{
int i;
for(i=0;i<n;i++)
{
printf("a[%d]=",i);
scanf("%d",&a[i]);
}
}
void xuatds (int a[],int n)
{
int i;
for (i=0;i<n;i++)
printf("%3d",a[i]);
}
void swap (int *c ,int *d)
{
int a;
a=*c;
*c=*d;
*d=a;
return;
}
void sx_ds(int a[],int n)
{
int j;
for (int i=0;i<=n-1;i++)
{
for(int j=n-1;j>=i+1;j--)
if(a[j]<a[j-1])
swap(&a[j],&a[j-1]);
getch();
printf("\n lan %d\n",i);
printf("\t i=%d\n",i);
printf("\t j=%d\n",j);
printf("\n x=%d\n",x);
xuatds(ds,n);
}
return;
}
void main()
{
int n;
clrscr();
printf("nhap n=");scanf("%d",&n);
taods(ds,n);
printf("danh sach vua tao : \n");
xuatds(ds,n);
sx_ds(ds,n);
printf("\n danh sach vua sap xep : \n");
xuatds(ds,n);
getch();
}
Bài Toán Sắp Xếp Nhanh
Mã:
#include<stdio.h>
#include<conio.h>
#include<iostream.h>
int ds [100] ;
int n,x;
void taods (int a[] , int&n)
{
int i;
for(i=0;i<n;i++)
{
printf("a[%d]=",i);
scanf("%d",&a[i]);
}
}
void xuatds (int a[],int n)
{
int i;
for (i=0;i<n;i++)
printf("%3d",a[i]);
}
void swap (int *c ,int *d)
{
int a;
a=*c;
*c=*d;
*d=a;
return;
}
void quick_sort(int a[],int left,int right)
{ if(left<right)
{int i=left;int j=right ; int x=a[(left+right)/2];
do{while(a[i]<x) i++;
while(a[j]>x)j--;
if(i<=j){swap(&a[i],&a[j]);i++;j--;}
}while(i<=j);
quick_sort(a,left,j);
quick_sort(a,i,right);
}
}
void main()
{
int n;
clrscr();
printf("nhap n=");scanf("%d",&n);
taods(ds,n);
printf("danh sach vua tao : \n");
xuatds(ds,n);
quick_sort(ds,0,n-1);
printf("\n danh sach vua sap xep : \n");
xuatds(ds,n);
getch();
}
Đang cập nhật......