猿问

c++编程用函数模板实现排序算法(冒泡排序、插入排序) ?

c++编程用函数模板实现排序算法(冒泡排序、插入排序) 


函数式编程
浏览 791回答 2
2回答

凤凰求蛊

#include&nbsp;<iostream>using&nbsp;namespace&nbsp;std;//从小到大排序template&nbsp;<typename&nbsp;T>void&nbsp;Bubble(T&nbsp;arr[],&nbsp;int&nbsp;n){int&nbsp;i,j;for&nbsp;(i=0;&nbsp;i<n;&nbsp;i++)for&nbsp;(j=0;&nbsp;j<n-i-1;&nbsp;j++){if&nbsp;(arr[j]&nbsp;>&nbsp;arr[j+1]){T&nbsp;temp;temp&nbsp;=&nbsp;arr[j];arr[j]&nbsp;=&nbsp;arr[j+1];arr[j+1]&nbsp;=&nbsp;temp;}}for&nbsp;(i=0;&nbsp;i<n;&nbsp;i++)cout&nbsp;<<&nbsp;arr[i]&nbsp;<<&nbsp;endl;}//从小到大排序template&nbsp;<typename&nbsp;T>void&nbsp;Insert(T&nbsp;arr[],&nbsp;int&nbsp;n){int&nbsp;i,j,pos;T&nbsp;temp;for&nbsp;(i=0;&nbsp;i<n;&nbsp;i++){pos&nbsp;=&nbsp;i;for&nbsp;(j=i;&nbsp;j<n;&nbsp;j++){if&nbsp;(arr[j]&nbsp;<&nbsp;arr[pos]){pos&nbsp;=&nbsp;j;temp&nbsp;=&nbsp;arr[j];arr[j]&nbsp;=&nbsp;arr[pos];arr[pos]&nbsp;=&nbsp;temp;}}temp&nbsp;=&nbsp;arr[i];arr[i]&nbsp;=&nbsp;arr[pos];arr[pos]&nbsp;=&nbsp;temp;}for&nbsp;(i=0;&nbsp;i<n;&nbsp;i++)cout&nbsp;<<&nbsp;arr[i]&nbsp;<<&nbsp;endl;}int&nbsp;main(){int&nbsp;i[7]&nbsp;=&nbsp;{2,&nbsp;234,&nbsp;234,&nbsp;12,&nbsp;1400,&nbsp;345,&nbsp;564};float&nbsp;f[7]&nbsp;=&nbsp;{2.9,&nbsp;234.2,&nbsp;234.5,&nbsp;12.73,&nbsp;1400,&nbsp;345.2,&nbsp;564.1};//Bubble(i,&nbsp;7);Insert(i,&nbsp;7);cout&nbsp;<<&nbsp;endl;//Bubble(f,&nbsp;7);Insert(f,&nbsp;7);return&nbsp;0;}
随时随地看视频慕课网APP
我要回答