我们专注攀枝花网站设计 攀枝花网站制作 攀枝花网站建设
成都网站建设公司服务热线:400-028-6601

网站建设知识

十年网站开发经验 + 多家企业客户 + 靠谱的建站团队

量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决

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://shouzuofang.com/article/ihsjgh.html

其他资讯