Chào các bạn! Vì nhiều lý do từ nay Truyen2U chính thức đổi tên là Truyen247.Pro. Mong các bạn tiếp tục ủng hộ truy cập tên miền mới này nhé! Mãi yêu... ♥

co de 1 chieu

Mang 1 chieu

#include<stdio.h>

#include<conio.h>

void hoanvi (int *a, int *b)

{

int t;

t=*a;

*a=*b;

*b=t;

}

 void quicksort(int a[], int l, int r)

{

int i,j;

int x;

x= a[(l+r)/2];

i=l;j=r;

do{

while (a[i]<x) i ++;

while(a[j]>x) j--;

if(i<=j)

{

hoanvi (&a[i], &a[j]);

i++; j--;

}

} while (i<j);

if(l<j)

quicksort(a,l,j);

if (i<r)

quicksort (a,i,r);

}

 void insertionsort(int a[], int n)

{

int poss,x;

for(int i=1;i<n;i++)

{

x=a[i];

poss=i-1;

while (poss>=0 && a[poss]>x)

{

a[poss+1] = a[poss];

poss--;

}

a[poss+1] = x;

}

}

void chontructiep(int a[], int n)

{

int min;

for(int i=0; i<n-1;i++)

{

min = i;

for (int j=i+1;j<n;j++)

{

        if(a[j]<a[min])

{

min =j;

}

}

hoanvi(&a[i], &a[min]);

}

}

void interchansort(int a[], int n)

{

for(int i=0;i<n-1;i++)

{

for(int j=i+1;j<n;j++)

if(a[i]>a[j]) hoanvi(&a[i],&a[j]);

}

}

}

void bublesort(int a[], int n)

{

for(int i=0;i<n-1;i++)

{

for(int j=n-1;j>i;j--)

{

if(a[j-1]>a[j]) hoanvi(&a[j-1],&a[j]);

}

}

}

void shellsort(int a[], int n, int h[], int k)//chu y chon k = log3(n-1)

{

int step,i,j;

int x, len;

for (step = 0; step <k; step ++)

{

len = h[step];

for (i=len; i<n; i++)

        {

x=a[i];

j=i-len;

while ((x<a[j]) && (j>=0))

{

a[j+len] = a[j];

j=j-len;

        }

a[j+len] = x;

}

}

}

/*int timkiem_np(int a[],int n, int x)

{

int mid,l,r;

l=0;

r=n-1;

while(l<=r)

        {

mid = (l+r)/2;

if(x==a[mid]) return mid;

if(x>a[mid]) l=mid+1;

else r=mid-1;

        }

}*/

void main()

{

int n=0,i=0,a[20],b,d,c;

FILE *fp;

FILE *td;

//FILE *td;

fp = fopen("tdtruong.txt", "r");

while (feof(fp)==0)

{

fscanf(fp, "%d", &b);

a[i]=b;

i++;

n++;

}

fclose(fp);

//quicksort (a,0,n-1);

//insertionsort(a,n);

//chontructiep(a,n);

//interchansort(a,n);

bublesort(a,n);

td = fopen("abc.txt","w");

for(int i=0; i<n;i++)

{

fprintf(td, "%d ",a[i]);

}

fclose(td);

}

/*chuong trinh merge sort

#include <stdio.h>

#include <conio.h>

void nhapmang(int a[] , int n)

{

for(int i=0 ; i<n ;i++)

{

printf("a[%i] ",i);

scanf("%d",&a[i]);

}

}

void xuatmang(int a[] , int n)

{

printf("

");

for(int i=0 ; i<n ; i++)

{

printf("%d ",a[i]);

}

}

void Merge(int a[] , int b[] , int c[] , int nb , int nc , int k)

{

int p , pb , pc , ib , ic ;

p = pb = pc = 0 ; ib = ic = 0 ;

while(( nb > 0 )  && ( nc > 0 ))

{

if ( b[pb+ib] <= c[pc+ic] )

{

a[p++] = b[pb+ib] ;

ib++ ;

if (ib==k)

{

for(; ic < k ; ic++)

a[p++] = c[pc+ic] ;

pb += k ; pc += k ;

ib = ic = 0 ;

nb -= k ; nc -= k ;

}

}

else

{

a[p++] = c[pc+ic] ;

ic++;

if ( ic == k )

{

for(; ib < k ; ib++ )

a[p++] = b[pb+ib];

pb += k ; pc += k ;

ib = ic = 0 ;

nb -= k ; nc -= k ;

}

}

}

}

void XapSep_MergeSort ( int a[] , int b[] , int c[] , int n)

{

int p , pb , pc ;

int i , k  ;

k = 1 ;

do

{

p = pb = pc = 0 ;

while ( p < n )

{

for (int i=0 ; (p<n) && (i< k) ; i++ )

b[pb++] = a[p++];

for (int i=0 ; (p<n) && (i< k) ; i++)

c[pc++] = a[p++] ;

}

Merge(a,b,c,pb,pc,k) ;

k *= 2 ;

}while( k < n ) ;

}

void main()

{

int a[100] ; int n;

int b[100] , c[100] ;

printf("nhap so phan tu mang "); scanf("%d",&n);

nhapmang(a,n);

XapSep_MergeSort(a,b,c,n);

xuatmang(a,n);

getch();

}

*/

Bạn đang đọc truyện trên: Truyen247.Pro

Tags: #lan