三种简单数组排序n^2(C语言)-创新互联

文章目录
  • SelectionSort
  • BubbleSort
  • InsertionSort

创新互联公司专注于海原企业网站建设,成都响应式网站建设公司,商城网站建设。海原网站建设公司,为海原等地区提供建站服务。全流程定制网站建设,专业设计,全程项目跟踪,创新互联公司专业和态度为您提供的服务SelectionSort
  1. 选择排序
    算法:依次比较(仅仅只是比较),找出最小数,按从小到大的顺序排列
    代码:
#define SIZE 10
	int arr[SIZE] = {1, 4, 3, 5, 2, 7, 8, 6, 9, 0};
	int i;
	int j;
	
	for (i = 0; i< SIZE - 1; i++)
	{int iMin = i;
		for (j = i + 1; j< SIZE; j++)
		{	if (arr[iMin] >arr[j]) {		iMin = j;
			}
		}
		int temp = arr[i];
		arr[i] = arr[iMin];
		arr[iMin] = temp;
	}
BubbleSort
  1. 冒泡排序
    算法:依次比较,并在每次的比较后对两个数排序(比如有数组 arr[4] = {2, 1, 4, 3, 8, 0}先对2 1比较,交换后为1,2;再对4 3比较,结果为3,4;同理 0,8.第一轮结束后,arr[4] 为 1,2,3,4,0,8 如此反复比较直至得到最终结果)
    代码
#define SIZE 10
	int arr[SIZE] = {1, 4, 3, 5, 2, 7, 8, 6, 9, 0};
	int i, j;
	
	for (i = 0; i< SIZE -1; i++)
	{for (j = i + 1; j< SIZE; j++)
		{	if (arr[i] >arr[j]) {		int temp = arr[i] ;
				arr[i] = arr[j];
				arr[j] = temp;
			}
		}
InsertionSort
  1. 插入排序
    算法:同bubble,唯一区别:(以214380中第三次比较为例)交换08后(1 2 3 4 0 8),将0与4比较,交换04(1 2 3 0 4 8);再将0 与3 比较交换(1 2 0 3 4 8)… 直至(0 1 2 3 4 8)简而言之:一步到位的冒泡
    代码:
#define SIZE 10
   int arr[SIZE] = {1, 4, 3, 5, 2, 7, 8, 6, 9, 0};
   int i, j;
   
   for (i = 0; i< SIZE -1; i++)
   {for (j = i + 1; j< SIZE; j++)
   		{	if (arr[i] >arr[j]) {		int temp = arr[i] ;
   				arr[i] = arr[j];
   				arr[j] = temp;
   			}
   			while(i - 1 >= 0 && arr[i]< arr[i - 1])
   			{		int temp = arr[i];
   				arr[i] = arr[i - 1];
   				arr[i - 1] = temp;
   			}
   		}
   }

你是否还在寻找稳定的海外服务器提供商?创新互联www.cdcxhl.cn海外机房具备T级流量清洗系统配攻击溯源,准确流量调度确保服务器高可用性,企业级服务器适合批量采购,新人活动首月15元起,快前往官网查看详情吧


当前标题:三种简单数组排序n^2(C语言)-创新互联
转载源于:http://pwwzsj.com/article/jsojg.html