當前位置:首頁 » 操作系統 » c泛型演算法

c泛型演算法

發布時間: 2022-09-05 17:12:22

1. 參考C++標准庫中的泛型演算法(如find等)設計並實現求最大值的泛型演算法max,該演算法返回容器中數據的最大值

#include/*演算法概要:a1, a2a2取第一個數a1作為組合的第一個數,然後從剩下的數a2an中取r-1個數進行剩下的組合,完成一次循環然後取第二個數a2作為組合的第一個數,然後從剩下的數a3an中取r-2個數進行剩下的組合,完成一次循環依此類推,得到全部的組合。*//* 進行排列輸出的主函數 a: n個數據的數組 n: 數據個數 r: 組合的r result: 緩存本次組合的數組 aindex: 當前組合的a下標 resultindex: 當前組合的結果下標*/ void C(int a[], int n, int r, int result[], int aindex, int resultindex){// 如果已經組合夠r個數據,輸出if (resultindex >= r){for (int x=0; x>n>>r; // 輸入組合的n,r值int* a = new int[n];for (int i=0; i>a[i]; // 輸入數據}CC(a, n, r); // 組合輸出delete[] a;return 0;}

2. C++ 容器 和 泛型的問題

容器好比裝東西的器具,迭代器就是用來指示容器中東西的位置。給你打個比方吧,現在有許多書籍放在書架上,那麼書架相當於容器,可以往書架上添加、刪除書籍,而迭代器相當於書籍的一個指針,可以指向任何一本書籍,通過迭代器可以取出書籍。

3. 從代碼上看如何區分c程序和c++程序

代碼量足夠的話,還是比較容易區分的,
比如說頭文件包含iostream的,出現bool,class,new,delete這樣新關鍵字的,有::操作符的,用cout,cin輸入輸出的,像p->fun()這樣調用函數的,都可以斷定是C++。如果僅僅是幾行賦值,算術表達式什麼的,就無法判斷了。

4. CString與string的區別

CString 是MFC或者ATL中的實現,
string是C++標准庫中的實現
string和CString均是字元串模板類,string為標准模板類(STL)定義的字元串類,已經納入C++標准之中;
CString(typedef CStringT<TCHAR, StrTraitMFC<TCHAR>> CString)為Visual C++中最常用的字元串類,繼承自CSimpleStringT類,主要應用在MFC和ATL編程中,主要數據類型有char(應用於ANSI),wchar_t(unicode),TCHAR(ANSI與unicode均可);
char*為C編程中最常用的字元串指針,一般以』\0』為結束標志;

在MFC、ATL中使用字元串盡量使用CString,畢竟都是微軟的孩子,各方面都比其它更有優勢,而在非微軟平台上或對移植性要求較高的場合推薦使用string,標准模板庫提供了那麼強大的泛型演算法,沒必要再自己去造車輪。

5. 我是學習c語言的初學者,想問一個題目

#include <stdio.h>

void main()
{
int max(int x, int y, int z);
int a, b, c, d;
scanf("%d,%d", &a, &b, &d);
c=max(a,b, d);
printf("max=%d\n",c);
}

int max(int x, int y, int z)
{
return ((x > y) ? (x > z ? x : z) : (y > z ? y : z));
}

6. c語言怎麼求當前電腦能表示的最大整型數

C++最大的整數類型是unsigned long long
你輸出sizeof(unsigned long long),就知道unsigned long long有多少位了,那你就知道有多大了吧

執行時間
用time.h里的計時函數,程序開始之前記錄一次時間,結束的時候記錄一次時間,兩次相減不就是你的函數的執行時間嗎?

7. C++ STL泛型演算法改錯

從句法上說(編譯錯誤)樓上說的不錯,只少了分號。
但運行出來的結果沒有達到期待的結果
#include <iostream>
#include <vector>
#include <algorithm>
using namespace std;
template <typename T,int VAL>
T addValue(T const& x)
{
return x+VAL;
}

int main()
{

vector<int> Numbers, a1(8) ;
for (int i = 0; i != 8; ++i)
Numbers.push_back(i);

vector<int> ::iterator start, end, it,start1;

start = Numbers.begin() ;
start1 = a1.begin() ;
end = Numbers.end() ;

transform(Numbers.begin(), Numbers.end(), a1.begin(), addValue<int,5>);

cout << "Numbers { " ;
for(it = a1.begin(); it != a1.end(); ++it)
cout << *it << " " ;
cout << " }\n" << endl ;
}

這樣transform才有用處啊
還有cin.get();干什麼,後面又沒有代碼了

8. c++STL泛型編程sort演算法問題

你是指的是在sort泛型演算法中帶的參數有個謂詞吧。謂詞相當於sort中的1個參數,但是謂詞本身是個函數,你這里的是個返回bool類型的函數,這個函數有2個參數,分別是對形參a和b的const引用,然後比較a和b是否相等,如果a不等於b,那麼return a>b 返回的是表達式a>b的值,如果a比b大,值的true,否則值為false ,else return a>b 這里就是a==b的情況下才走到這里,肯定返回false了
在sort演算法里調用如下,比如定義了1個int的vector容器
vector<int> ivec;
sort(ivec.begin(),ivec.end(),Comp);
這里記住Comp後面不能帶參數了,直接寫函數名字即可,在排序的時候就會根據函數的返回結果為true的進行排序,也就是說從大到小排序。

9. 先把1到n中的所有奇數從小到大輸出,再把所有的偶數從小到大輸出 怎麼編程c語言

若是C++語言,就可直接使用標准庫中的泛型演算法STL

初始化兩個list listj(奇數),listo(偶數) ,先進行判斷,

for(2<=n<=10000 n++)

if(n%2!=0) listj.add(n);

if(n%2==0) listo.add(n);

最後分別遍歷listj和listo。

例如:

#include <stdlib.h>

#include <stdio.h>

void main()

{

int a[100]={0},b[100]={0},c;

int i=0,j=0,t,n,m;

while (i>=0)

{

if(!scanf("%d",&c))

break;

else

{

if(c%2==0)

a[i++]=c;

else

b[j++]=c;

}

}

for(m=0;m<i;m++)

{

for (t=0;t<i-m-1;t++)

{

if(a[t]>a[t+1])

{

n=a[t];

a[t]=a[t+1];

a[t+1]=n;

}

}

}

for(m=0;m<i;m++)

printf("%d ",a[m]);

for(m=0;m<j;m++)

{

for (t=0;t<j-m-1;t++)

if(b[t]<b[t+1])

{

n=b[t];

b[t]=b[t+1];

b[t+1]=n;

}

}

printf(" ");

for(m=0;m<j;m++)

printf("%d ",b[m]);

system("pause");

}

(9)c泛型演算法擴展閱讀:

C 語言的運算范圍的大小直接決定了其優劣性。C 語言中包含了34種運算符,因此運算范圍要超出許多其它語言,此外其運算結果的表達形式也十分豐富。此外,C 語言包含了字元型、指針型等多種數據結構形式,因此,更為龐大的數據結構運算它也可以應付。

9 類控制語句和32個KEYWORDS是C語言所具有的基礎特性,使得其在計算機應用程序編寫中具有廣泛的適用性,不僅可以適用廣大編程人員的操作,提高其工作效率,同 時還能夠支持高級編程,避免了語言切換的繁。

熱點內容
access資料庫exe 發布:2025-05-12 12:39:04 瀏覽:621
五開的配置是什麼 發布:2025-05-12 12:36:37 瀏覽:357
加密ovpn 發布:2025-05-12 12:01:55 瀏覽:44
python練手項目 發布:2025-05-12 11:14:07 瀏覽:122
壓縮聽算音頻 發布:2025-05-12 10:58:12 瀏覽:801
資料庫系統報告 發布:2025-05-12 10:43:17 瀏覽:603
日產高配有哪些配置 發布:2025-05-12 10:32:16 瀏覽:475
大眾朗逸哪個配置值得入手 發布:2025-05-12 10:31:20 瀏覽:505
壓縮包的後綴 發布:2025-05-12 10:20:35 瀏覽:944
煙台招聘編程 發布:2025-05-12 10:04:21 瀏覽:53