冒泡排序
#include <stdio.h>
int main()
{
int num[10],ch;
printf("input:\n");
for(int i=0;i<10;i++)
{
scanf("%d",&num[i]);
}
for(int n=1;n<=8;n++)
for(int m=9;m>=n;m--)
{
if(num[m]<num[m-1])
{
ch = num[m];
num[m] = num[m-1];
num[m-1]=ch;
}
}
printf("output:\n");
for(int i=0;i<10;i++)
{
printf("%d\n",num[i]);
}
}
选择排序
#include <stdio.h>
int main()
{
int num[10],ch,k;
printf("input:\n");
for(int i=0;i<10;i++)
{
scanf("%d",&num[i]);
}
for(int n=0;n<=9;n++)
for(int m=n+1;m<=9;m++)
{
k = n;
if(num[n]>num[k])
{
k = m;
}
ch = num[n];
num[n] = num[k];
num[k] = ch;
}
printf("output:\n");
for(int i=0;i<10;i++)
{
printf("%d\n",num[i]);
}
}
#include <stdio.h>
#include <stdlib.h>
#define N 15
int quick_sort(int *data,int l,int h);
int compare(const void *p1, const void *p2);
int main()
{
int data[N] = {0};
srandom(10);
for(int i = 0;i < N;i++)
data[i] = random()%100;
for (int i = 0; i < N; i++) {
printf("%d ", data[i]);
}
puts("");
quick_sort(data, 0, N-1);
// qsort(data, N, sizeof(int), compare);
//qsort(data, N, sizeof(int), compare);
for (int i = 0; i < N; i++) {
printf("%d ", data[i]);
}
puts("");
return 0;
}
int quick_sort(int *data,int l,int h)
{
int temp = 0,first,last;
first = l;
last = h;
if (data == NULL) {
return -1;
}
if (l >= h)
return 0;
//r = l;
temp = data[l];
for(;l < h;){
for(;temp <= data[h] && l < h;h--);
data[l] = data[h];
//data[h] = temp;
for(;temp >= data[l] && l < h;l++);
//temp = data[r];
data[h] = data[l];
//data[l] = temp;
}
data[l] = temp;
//if(first >= l-1 || l+1 >= last ||l-1 < 0);
quick_sort(data, first, l-1);
quick_sort(data, l+1, last);
}
int compare(const void *p1, const void *p2) {
return (*(const int *)p1 - *(const int *)p2);
}