C语言复试上机(入门篇-算法初步之排序算法)

  1. 冒泡排序:
#include 

int main(){
	int a[5] = {1,5,8,3,0};
	int i,j,l,temp;
	for(i=1;i<5;i++)
		for(j=0;j<5-i;j++)
			if(a[j] >= a[j+1]){
				temp = a[j];
				a[j] = a[j+1];
				a[j+1] = temp;
			}
	for(i=0;i<5;i++)
		printf("%d",a[i]);
	return 0;
} 

2.选择排序

#include 

int main(){
	int a[5] = {1,5,8,3,0};	

	int temp,min,count,n=5;
	for(int i=0;i
  1. 插入排序
#include 

int main(){
	int a[5] = {1,5,8,3,0};
	int temp,n = 5;
	for(int i=1;itemp){
			a[i] = a[i-1];
			i--;
		}
		a[i] = temp;
	}
	for(int i=0;i
  1. 快速排序
#include 
int Partition(int a[],int left,int right){
	int temp = a[left];
	while(lefttemp)right--;
		a[left] = a[right];
		while(left
  1. 二路归并排序
#include 

const int max=100;
void merge(int a[],int L1,int R1,int L2,int R2){
	int temp[max];
	int i=0;
	int k=L1;
	while(L1<=R1&&L2<=R2){  // 注意有等号 
		if(a[L1]

你可能感兴趣的:(C语言)