类模板练习:初始化int类型数组data1[ ]={}先使用任意一种算法对其排序提示用户输入一个数字,应用折半查找函数模板找出它的位置。

初始化int类型数组data1[ ]={1,3,5,7,9,11,13,15,17,19,2,4,6,8,10,12,14,16,18,20}先使用任意一种算法对其排序提示用户输入一个数字,应用折半查找函数模板找出它的位置。

  #include 
  using namespace std;
  template
   //这里使用了冒泡法排序:
  void mySwap(T&x, T&y)//交换x,y的值
  {
      T temp = x;
    	x = y;
    	y = temp;
   }
    
    template
    void bubblesort(T a[], int n)//用冒泡法对数组a的n个元素进行排序
    {
	int i = n - 1;

	while (i > 0)
	{
		int lastExchangeIndex = 0;
		for (int j = 0; j < i; j++)
		    if (a[j+1]
int BinSearch(const T list[], int n, const T key)//用折半查找法,在元素呈升序排列的数组list中查找值为key的元素
{

	int low = 0;
	int high = n - 1;
	while (low <= high)
	{
		int mid = (low + high) / 2;
	
		if (key == list[mid])
			return mid;
		else if (key>list[mid])
			low = mid + 1;
		else
			high = mid - 1;
	}
	return -1;
}


int main()
{
	int key, mid, n = 20;
	int i;
	int data1[] = { 1,3,5,7,9,11,13,15,17,19,2,4,6,8,10,12,14,16,18,20 };
	cout << "数组排序后:" << endl;
	 bubblesort(data1, n);
	 for ( i = 0; i < 20; i++)
	 {
		 cout << data1[i]<<",";
	 }
	 cout << endl;
	 cout << "请输入key:" << endl;
	cin >> key;
	cout << key <<"在数组第:"<

类模板练习:初始化int类型数组data1[ ]={}先使用任意一种算法对其排序提示用户输入一个数字,应用折半查找函数模板找出它的位置。_第1张图片

你可能感兴趣的:(类模板练习:初始化int类型数组data1[ ]={}先使用任意一种算法对其排序提示用户输入一个数字,应用折半查找函数模板找出它的位置。)