#include <cstdlib>#include <iostream>#include <vector>using namespace std;void input(vector<int> &v){cout<<"please enter the array:"<<endl;int data;while(cin>>data)v.push_back(data);}void max_heap(vector&
#include <cstdlib> #include <iostream> #include <vector> using namespace std; const int NUM=3;//位元void input(vector<int>& v) { int data; while(cin>>data) { v.push_
#include <cstdlib>#include <iostream>#include <vector>using namespace std;void input(vector<int> &v){cout<<"please enter the data:"<<endl; int
資料在(0,1)之間#include <time.h>#include <iostream>#include <iomanip>using namespace std;/*initial arr*/void InitialArr(double *arr,int n){srand((unsigned)time(NULL));for (int i = 0; i<n;i++){arr[i] = rand()/double(RAND_MAX+1); //(
從數組{10,20,30,40,50,60}中求出和等於60的子數組。用布爾向量例如{0,1,0,1,0,0}來表示結果。#include <iostream>#include <vector>#include <algorithm>using namespace std;bool ValidOrder(vector<int>::iterator it1, vector<int>::iterator it2, int * s, int
#include <iostream>using namespace std;typedef enum col{RED, BLACK} col;template <class T>class RBNode{public:RBNode(T k, RBNode<T>* l=NULL, RBNode<T>* r=NULL, RBNode<T>* p=NULL): key(k), left(l), right(r), parent(p) {}
#include <cstdlib>#include <iostream>#include <vector>using namespace std;void input(vector<int> &v){cout<<"please enter the data:"<<endl; int
#include <iostream>#include <cassert>#include <time.h>using namespace std;const int DefaultSize=100;template <class E, class K>struct SkipNode{E data;SkipNode<E,K> * * link;SkipNode(int size=DefaultSize){link=new
#include <cstdlib>#include <iostream>#include <vector>using namespace std;void init_v(vector<int>& v){v.push_back(0);}void add_elem(vector<int>& v, int data)//增加元素{v.push_back(data);int child=v.size()-1;int
#include <iostream>using namespace std;char x[30], y[30];int c[30][30];char b[30][30];void LCS(){int m=strlen(x+1);int n=strlen(y+1);for(int i=1; i<=m; i++)c[i][0]=0;for(int j=1; j<=n; j++)c[0][j]=0;for(int i=1; i<=m; i++)for(int j=1;
#include<cstdio>#include<cstring>#include<cstdlib>#include<cmath>#include<iostream>#include<algorithm>using namespace std;int n,m,que,cas=0,num[1010],sum[500000],minn,a,b,number;int bsearch(){ int
#include <cstdlib>#include <iostream>#include <vector>using namespace std;void input(vector<int>& v){cout<<"please enter the numbers:"<<endl;int data;while(cin>>data)v.push_back(data);}void print(const
問題描述:給出一個序列a1,a2,a3,a4,a5,a6,a7….an,求它的一個子序列(設為s1,s2,…sn),使得這個子序列滿足這樣的性質,s1<s2<s3<…<sn並且這個子序列的長度最長,輸出這個最長的長度。例如有一個序列:1 7 3 5 9 4 8,它的最長上升子序列就是 1 3 4
#include <cstdlib>#include <iostream>#include <vector>using namespace std;int main(int argc, char *argv[]){ vector<int> array; int data; while(cin>>data) { array.push_back(data); } for(int
#include <iostream>using namespace std;typedef struct Node//樹結點定義{int key;Node *lchild, *rchild, *parent; }Node, *BSTree; Node * BSTreeSearch(BSTree T, int k) //遍曆尋找{if(T == NULL || k == T->key)return T;if(k < T->key)return
#include <cstdlib>#include <iostream>#include <vector>#define INFINITE 1000//設立監視哨using namespace std;void input(vector<int>& v) //輸入資料{cout<<"please enter the number(<1000):"<<endl;int
#include<iostream>#include<cstdlib>#include<ctime>#define MAX_VALUE 10000#define random() rand()%MAX_VALUE#define N 10000using namespace std;int a[N];class Find{public:void bubble(int first, int last)//冒泡排序{for(int flag=first; flag&
已耗用時間為θ(n)#include <cstdlib> #include <iostream> #include <vector> #include <ctime>using namespace std; void input(vector<int>& v) { int data; while(cin>>data)
只需要修改歸併排序#include <cstdlib>#include <iostream>#include <vector>#define INFINITE 1000using namespace std;int count=0;void input(vector<int>& v){cout<<"please enter the number(<1000):"<<endl;int
#include <cstdlib> #include <iostream> #include <vector> using namespace std; void input(vector<int>& v) { int data; while(cin>>data) { v.push_back(data); } } void print(const