算法 顺序查找/折半查找/冒泡排序/选择排序(待改)

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版权协议,转载请附上原文出处链接和本声明。