Bubble sort
Đã test rất kỹ, yên tâm mà mò nha
- Code:
#include <stdio.h>
#include <stdlib.h>
#include <conio.h>
#define MAXLIST 200
#define TRUE 1
#define FALSE 0
int nodes[MAXLIST];
void bubblesort(int nodes[], int n)
{
int temp, i, j;
int codoicho = TRUE;
for(i = 1; i < n && codoicho == TRUE; i++)
{
codoicho = FALSE;
for(j = 0; j < n-i; j++)
if(nodes[j] > nodes[j+1])
{
codoicho = TRUE;
temp = nodes[j];
nodes[j] = nodes[j+1];
nodes[j+1] = temp;
}
}
}
void main()
{
int chucnang;
char c;
// clrscr();
do
{
printf("\n\n\tBUBBLE SORT");
printf("\n\nCac chuc nang cua chuong trinh:\n");
printf(" 1: Tao danh sach voi %d so ngau nhien\n", MAXLIST);
printf(" 2: Bubble Sort\n");
printf(" 3: Duyet danh sach\n");
printf(" 0: Ket thuc chuong trinh\n");
printf("Chuc nang ban chon: ");
scanf("%d", &chucnang);
switch(chucnang)
{
case 1:
{
for(int i = 0; i < MAXLIST; i++)
nodes[i] = rand(1000);
printf("\nDa tao xong danh sach voi %d so ngau nhien", MAXLIST);
break;
}
case 2:
{
bubblesort(nodes, MAXLIST);
printf("\nDa sap xep xong danh sach theo giai thuat Bubble Sort");
break;
}
case 3:
{
printf("\nDUYET DANH SACH:\n");
for(int i = 0; i < MAXLIST; i++)
printf("%8d", nodes[i]);
break;
}
}
} while(chucnang != 0);
}
Đã test rất kỹ, yên tâm mà mò nha