C<5.1>排序算法三件套

//选择,冒泡,插入对六个整数进行排序
#include<stdio.h>
int* selectionsort(int list[]);
int* bubblesort(int list[]);
int* insertsort(int list[]);
int main()
{
	int test1[6] = { 1, 5, 3, 6 ,8 ,3 };
	selectionsort(test1);
	int test2[6] = { 1, 5, 3, 6 ,8 ,3 };
	bubblesort(test2);
	int test3[6] = { 1, 5, 3, 6 ,8 ,3 };
	insertsort(test3);
	for(int i=0;i<6;i++)
	{
		printf("%d ", test1[i]);
	}
	printf("\n");
	for (int i = 0; i < 6; i++)
	{
		printf("%d ", test2[i]);
	}
	printf("\n");
	for (int i = 0; i < 6; i++)
	{
		printf("%d ", test3[i]);
	}
	printf("\n");
	return 0;

}
int* selectionsort(int list[])
{
	for (int i = 0; i < 6; i++)
	{
		int max = 0;
		int j = 0, k = 0;
		for (; j < 6 - i; j++)
		{
			if (list[j] > max)
			{
				max = list[j];
				k = j;
			}
		}
		if ((5 - i) != k)
		{
			list[k] = list[5 - i];
			list[5 - i] = max;
		}
	}
		return list;
}
int* bubblesort(int list[])
{
	for (int i=0;i<6; i++)
		
		for (int j=0; j < 5 - i; j++)
			{
			if(list[j]>list[j+1])
			{
				int temp=list[j];
				list[j] = list[j+1];
				list[j + 1] = temp;
			}
			}
	return list;
}
int* insertsort(int list[])
{
	for (int i = 0; i < 6; i++)
	{
		int min = list[i];
		int j = i;
		for (; j > 0 && list[j - 1] > min; j--)
		{
			list[j] = list[j - 1];
		}
		list[j] = min;
	}
	return list;
}

猜你喜欢

转载自blog.csdn.net/weixin_60787500/article/details/127798860