网创优客建站品牌官网
为成都网站建设公司企业提供高品质网站建设
热线:028-86922220
成都专业网站建设公司

定制建站费用3500元

符合中小企业对网站设计、功能常规化式的企业展示型网站建设

成都品牌网站建设

品牌网站建设费用6000元

本套餐主要针对企业品牌型网站、中高端设计、前端互动体验...

成都商城网站建设

商城网站建设费用8000元

商城网站建设因基本功能的需求不同费用上面也有很大的差别...

成都微信网站建设

手机微信网站建站3000元

手机微信网站开发、微信官网、微信商城网站...

建站知识

当前位置:首页 > 建站知识

c++如何实现排序和查找

这篇文章主要介绍c++如何实现排序和查找,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!

创新互联是一家专注于网站设计制作、成都网站设计与策划设计,谷城网站建设哪家好?创新互联做网站,专注于网站建设十多年,网设计领域的专业建站公司;建站业务涵盖:谷城等地区。谷城做网站价格咨询:028-86922220

1、用冒泡法对数组进行排序(升序)

#include #include 
void 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 #include 
void 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 #include 
int 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 #include 
int 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++如何实现排序和查找”这篇文章的所有内容,感谢各位的阅读!希望分享的内容对大家有帮助,更多相关知识,欢迎关注创新互联行业资讯频道!


分享标题:c++如何实现排序和查找
链接分享:http://bjjierui.cn/article/ihsjgh.html

其他资讯