选择排序、插入排序

选择排序

#include <stdio.h>

void mySwap(int *a, int i, int j)
{
	int tmp = a[i];
	a[i] = a[j];
	a[j] = tmp;
}
void myPrint(int *a, int len)
{
	int i;
	for (i = 0; i < len; i++)
	{
		printf ("%4d", a[i]);
	}
	printf ("\n");
}


void mySort(int *a, int len)
{
	int i, j;
	
	for (i = 0; i < len-1; i++)      // 找的次数
	{
		int min = i; 
		for (j = i+1; j < len; j++)
		{
			if (a[min] > a[j])
			{
				min = j;
			}
		}
	
		if (min != i)
			mySwap(a, min, i);
	}
}

int main()
{
	int a[] = {9,8,7,6,5,4,3,2,1,0};
	int len = sizeof(a)/sizeof(a[0]);
	mySort(a, len);
	myPrint(a, len);
	
	
	
	return 0;
}




插入排序

#include <stdio.h>

void mySwap(int *a, int i, int j)
{
	int tmp = a[i];
	a[i] = a[j];
	a[j] = tmp;
}
void myPrint(int *a, int len)
{
	int i;
	for (i = 0; i < len; i++)
	{
		printf ("%4d", a[i]);
	}
	printf ("\n");
}


void mySort(int *a, int len)
{
	int i;
	for (i = 1; i < len; i++)
	{
		int get = a[i];
		
		int j = i-1;
		while (j >= 0 && a[j]>get) 
		{
			a[j+1] = a[j];
			j--;
		}
		a[j+1] = get;
	}
}

int main()
{
	int a[] = {9,8,7,6,5,4,3,2,1,0};
	int len = sizeof(a)/sizeof(a[0]);
	mySort(a, len);
	myPrint(a, len);
	
	return 0;
}




猜你喜欢

转载自blog.csdn.net/weixin_43664746/article/details/85106744