📄 main.c
字号:
#include <stdio.h>
#include <conio.h>
#define ELEMENT 200
void
bubble_sort(int array[], int),
insertion_sort(int array[], int),
selection_sort(int array[], int),
quick_sort(int array[], int, int, int);
void main(void)
{
int num, select;
int i;
int array[ELEMENT] = {NULL};
while(select != 'q')
{
printf("How much are items?\n");
scanf("%d",&num);
printf("Input Items\n");
for(i = 0; i < num; i++)
{
printf("%d item\t:\t",i+1);
scanf("%d",&array[i]);
}
printf("Select Number of Sorting Method\n");
printf("1. Bubble Sort 2. Selection Sort 3. Insertion Sort 4. Quick Sort\n Press 'q' to end\n");
select = getch();
switch(select)
{
case '1':
bubble_sort(array, num);
break;
case '2':
selection_sort(array, num);
break;
case '3':
insertion_sort(array, num);
break;
case '4':
quick_sort(array, 0, num - 1, num);
break;
}
for(i = 0; i < num; i ++)
{
printf("%d\t",array[i]);
}
printf("\n");
}
}
void bubble_sort(int array[], int n)
{
int temp;
int i,j;
for(i = 0; i < n; i++)
{
for(j = 0; j < (n-1); j++)
{
if( array[j] > array[j+1])
{
temp = array[j];
array[j] = array[j+1];
array[j+1] = temp;
}
}
}
}
void insertion_sort(int array[], int n)
{
int i, j;
int temp;
for( i = 2; i <= n; i++)
{
temp = array[i - 1];
for( j = i - 2; i >= 0 && array[j] > temp; j--)
{
array[j + 1] = array[j];
}
array[j + 1] = temp;
}
}
void selection_sort(int array[], int n)
{
int i, j, least;
int temp;
for( i = 0; i < n - 1; i++)
{
least = i;
for( j = i + 1; j < n; j++)
{
if( array[j] < array[least])
{
least = j;
}
}
if( least != i)
{
temp = array[least];
array[least] = array[i];
array[i] = temp;
}
}
}
void quick_sort(int array[], int left, int right, int n)
{
int i, j;
int temp;
int pivot;
if(left < right)
{
pivot = array[right];
i = left - 1;
j = right;
do {
do {
i++;
} while(array[i] < pivot);
do {
j--;
} while(array[j] > pivot);
if(i < j)
{
temp = array[i];
array[i] = array[j];
array[j] = temp;
}
else
break;
} while(i < j);
temp = array[i];
array[i] = array[right];
array[right] = temp;
quick_sort(array, left, i - 1, n);
quick_sort(array, i + 1, right, n);
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -