亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

您好,想要C++ 定義模板函數實現冒泡法升序排序,請問我該怎么做呢?

您好,想要C++ 定義模板函數實現冒泡法升序排序,請問我該怎么做呢?

呼喚遠方 2021-07-07 11:07:29
用 C++ 語言的編程風格編寫兩個函數模板:( 1 ) void bubble_sort(T a[], int num); 功能:用冒泡排序法對數組 a 中的 num 個元素進行升序排列。( 2 ) void print(T a[],int num) ; 功能:輸出數組 a 中的 num 個元素值,輸出所有元素結束后換行主函數中定義兩個數組:int a[6]; 和 double b[7];數組的元素由鍵盤讀入,無輸入提示。然后調用以上兩個函數實現程序的功能。本題輸入及輸出結果對應如下 :測試用例 1 :輸入內容:3 5 9 -7 1 6< 回車 >1.1 9.8 -5.4 3.5 6.8 3.2 0.1< 回車 >輸出內容:-7,1,3,5,6,9,-5.4,0.1,1.1,3.2,3.5,6.8,9.8,
查看完整描述

1 回答

?
Helenr

TA貢獻1780條經驗 獲得超4個贊

#include <iostream>
using namespace std;

template<typename T>
void bubble_sort(T a[], int num)
{
int i, j, temp;
int flag = 1;
for (i = 0; i < num - 1 && flag == 1; i++) //冒泡排序N*N
{
flag = 0;
for (j = 0; j < num - i - 1; j++)
{
if (a[j + 1] < a[j])
{
temp = a[j + 1];
a[j + 1] = a[j];
a[j] = temp;
flag = 1;
}
}
}
}

template<typename T>
void print(T a[],int num)
{
int i;
for (i = 0; i < num; i++)
{
cout << a[i] << " ";
}
}

int main()
{
int i;
int a[6];
double b[7];
for (i = 0; i < 6; i++)
{
cin >> a[i];
}
for (i = 0; i < 7; i++)
{
cin >> b[i];
}
bubble_sort(a, 6);
bubble_sort(b, 7);
print(a, 6);
print(b, 7);
return 0;
}



查看完整回答
反對 回復 2021-07-11
  • 1 回答
  • 0 關注
  • 402 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號