1.
顺序查找
对数组没有任何要求
从数组的其实元素到末尾元素逐个进行判断,如果与查找到的数据相同,查找结束;如果全部数据都没有发现与查找值相同的元素,没有找到。
#include<iostream>
using namespace std;
int Search(int a[],int n,int key);
const int N=5;
int main()
{
int a[N]={3,1,2,5,4};
int key=2;
int index=Search(a,N,key);
if(index>=0)
cout<<"找到了"<<index;
else
cout<<"没有";
return 0;
}
int Search(int a[],int n,int key)
{
int i;
for(i=0;i<n;i++)
{
if(a[i]==key)
break;
}
if(i<n)
return i;
else
return -1;
}2.
折半查找
由小到大排序 判断中间位置与要查找的数据之间的关系
二者相等 找到了;中间大,要找的在前面;中间小,要找的在后面
first=0
last
mid=first+(last-first)/2
3.
冒泡排序
每趟排序两两交换,将最大的交换到未排序序列的最后一个
N个元素 N-1趟排序后数组有序 在每趟排序中 数组两两比较后,将较大的一道后面。每趟排序后,待排序数据元素个数-1
4,选择排序
找到未排序序列的最小值的下标,将最小值与为排序序列中的第一个交换,然后对其余未排序序列继续找最小值下表和交换序列头部,直到为排序序列剩余1个为止
N个元素 N-1趟排序后数组有序 每趟排序后,为排序的数据元素个数-1
版权声明:本文为weixin_53043309原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。