十年网站开发经验 + 多家企业客户 + 靠谱的建站团队
量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决
这篇文章主要介绍c++如何实现排序和查找,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!

创新互联是一家专注于网站设计制作、成都网站设计与策划设计,谷城网站建设哪家好?创新互联做网站,专注于网站建设十多年,网设计领域的专业建站公司;建站业务涵盖:谷城等地区。谷城做网站价格咨询:028-86922220
1、用冒泡法对数组进行排序(升序)
#include#includevoid sort(int a[], int n){int i, j, t;for (i = 0; i < n-1 ; i++){for (j = 0; j < n-1; j++){if (a[j] > a[j+1]){t = a[j];a[j] = a[j+1];a[j+1] = t;}}}}int main(){int a[5], i;for (i = 0; i < 5; i++){printf("input a[%d]=", i);scanf("%d", &a[i]);}sort(a, 5);for (i = 0; i < 5; i++){printf("%4d", a[i]);}system("pause");return 0;}
2、用插入法排序将输入到数组中的元素进行排序
#include#includevoid fun(int a[], int n){int k, j, t;for (j = 1; j < n; j++){t = a[j];k = j - 1;while (k >= 0 && t > a[k]){a[k + 1] = a[k];k--;}a[k + 1] = t;}}int main(){int a[5], i;for (i = 0; i < 5; i++){printf("input a[%d]=", i);scanf("%d", &a[i]);}fun(a, 5);for (i = 0; i < 5; i++){printf("%4d", a[i]);}system("pause");return 0;}
3、用选择法将输入的10个数进行排序
#include#includeint main(){int i, j, min, tem, a[10];for (i = 0; i < 10; i++){printf("input a[%d]=", i);scanf("%d", &a[i]);}for (i = 0; i < 10; i++){printf("%d", a[i]);}for (i = 0; i < 10 - 1; i++){min = i;for (j = i + 1; j < 10; j++){if (a[min] > a[j]){min = j;}}tem = a[i];a[i] = a[min];a[min] = tem;}printf("\n");for (i = 0; i < 10; i++){printf("%d", a[i]);}system("pause");return 0;}
4、用折半查找法,将查看输入的数字是否在10个元素的升序数组中,如果在是第几个
#include#includeint main(){int a[10] = { 12,32,45,62,71,76,80,85,90,95 };int num, bott, top, mid;printf("input a number:");scanf("%d", &num);bott = 0;top = 9;while (bott <= top){mid = (bott + top) / 2;if (num == a[mid]){printf("%d是第%d个数", num, mid + 1);break;}else if (num < a[mid]){top = mid - 1;}else{bott = mid + 1;}}if (bott > top){printf("no\n");}system("pause");return 0;}
以上是“c++如何实现排序和查找”这篇文章的所有内容,感谢各位的阅读!希望分享的内容对大家有帮助,更多相关知识,欢迎关注创新互联行业资讯频道!