溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

c++如何實現(xiàn)排序和查找

發(fā)布時間:2022-01-17 09:19:24 來源:億速云 閱讀:175 作者:小新 欄目:大數(shù)據(jù)

這篇文章主要介紹c++如何實現(xiàn)排序和查找,文中介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們一定要看完!

1、用冒泡法對數(shù)組進行排序(升序)

#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、用插入法排序?qū)⑤斎氲綌?shù)組中的元素進行排序

#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個數(shù)進行排序

#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、用折半查找法,將查看輸入的數(shù)字是否在10個元素的升序數(shù)組中,如果在是第幾個

#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個數(shù)", 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++如何實現(xiàn)排序和查找”這篇文章的所有內(nèi)容,感謝各位的閱讀!希望分享的內(nèi)容對大家有幫助,更多相關(guān)知識,歡迎關(guān)注億速云行業(yè)資訊頻道!

向AI問一下細節(jié)

免責聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

c++
AI