你是真的“C”——C语言实现冒泡排序+折半查找(二分查找算法)-创新互联

C语言实现冒泡排序+折半查找(二分查找)算法 😎

哈喽!😄各位的uu们,我是你的博客好友小梦,希望我的文章可以给您带来一定的帮助,话不多说,文章推上!欢迎大家在评论区唠嗑指正,觉得好的话别忘了一键三连哦!😘

发展壮大离不开广大客户长期以来的信赖与支持,我们将始终秉承“诚信为本、服务至上”的服务理念,坚持“二合一”的优良服务模式,真诚服务每家企业,认真做好每个细节,不断完善自我,成就企业,实现共赢。行业涉及航空箱等,在成都网站建设成都全网营销推广、WAP手机网站、VI设计、软件开发等项目上具有丰富的设计经验。

   冒泡排序和折半查找排序是我们比较常用到的、简单的排序函数。接下来,我将用最近学到的C语言知识,将这两种排序算法用代码形式给大家具体分析一下,也希望大家能够通过本文的阅读学习,下来后可以闭着眼睛把它们用代码实现出来!

  • 冒泡排序实现(降序实现):🙌
        冒泡排序,其每一趟都是从数组的第一个元素开始,和数组的每一个元素进行一一对比,如果后面的元素比前面的元素大就交换,一趟比较完成后,就有一个这一趟的最小数放到最后的位置,这个数就可确定下来,不用参与下一趟的排序。当执行n趟完毕后,所有趟数中数组的最小值依次放到该趟要比较的数组元素的最后面,最后数组便降序排好了。其中控制数组排序的趟数和每一趟要进行比较的次数则需要循环精准把控啦。废话不多说,请看代码!😍
//冒泡排序算法实现:
#define _CRT_SECURE_NO_WARNINGS 1
#includeint main()
{int arr[10] = {2,3,1,6,7,8,9,10,4,5 };
	int len = sizeof(arr) / sizeof(arr[0]);//这里求得数组元素的个数
	for (int i = 0; i< len; i++)//控制的是比较的趟数
	{for (int j = 0; j< len - i - 1; j++)//控制的是每一趟比较的次数
		{	int temp = 0;
			if (arr[j]< arr[j + 1])//实现的是降序排序
			{		temp = arr[j];
				arr[j] = arr[j + 1];
				arr[j + 1] = temp;
			}
		}
	}

	for (int i = 0; i< len; i++)
	{printf("%d ", arr[i]);
	}

	return 0;
}
  • 折半查找排序的实现:🙌
       折半查找算法的应用场景是在有序数组中查找某一个元素的位置。每一趟比较都是用该数组中间元素(arr[mid])与所要查找的元素进行数值大小,然后就能够砍掉一半无需比较的元素。每一趟都折半,最终找到我们所查找元素的位置。具体需要注意的地方,我已在注释在代码中。废话不多说,请看代码!😍
#define _CRT_SECURE_NO_WARNINGS 1
#includeint main()
{int arr[10] = {1,2,3,4,5,6,7,8,9,10 };//有序数组
	int len = sizeof(arr) / sizeof(arr[0]);
	int left = 0;
	int right = len - 1;
	int mid = 0;
	int k = 0;
	scanf("%d", &k);

	while (left<= right)
	{//mid = (left + right) /2;     这样写不好因为,mid只要是一个数据类型的数值,其就有一个大数上限
		//如果要让他的上限更大,尽可能规避这个问题。
		mid = (right - left) / 2 + left;
		if (arr[mid] >k)
		{	right = mid - 1;

		}
		else if (arr[mid]< k)
		{	left = mid + 1;

		}
		else
		{	printf("找到了,该数的下标为:%d\n", mid);
			break;
		}
	}

	return 0;
}
总结撒花🙌

   本篇文章旨在带领大家学习冒泡排序和折半查找算法,并用C语言知识实现它们。如果我写的有什么的不好之处,请在文章下方给出你宝贵的意见😊。如果觉得我写的好的话请点个赞赞和关注哦~😘

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


本文名称:你是真的“C”——C语言实现冒泡排序+折半查找(二分查找算法)-创新互联
标题来源:http://azwzsj.com/article/ejdei.html