温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

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

发布时间:2022-01-17 09:19:24 来源:亿速云 阅读:161 作者:小新 栏目:大数据

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

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

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

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

c++
AI