The data structure we implement is to solve the dynamic open-up space usage during the running process (for example, we do not know how much we enter without stopping the input)
Two principles:
I. Stupid Methods
How much space is used and how much space is opened for the first time?
The second time we use space, we will open up space B larger than the first one, copy the data in A to B, then release a, and write new data in C.
Disadvantage: copying is too many times and the efficiency is lo
Establishing equationsSet a to a point outside the line,B,c to two points in a straight line$\left\{\begin{matrix}(X-ax,y-ay) \cdot (cx-bx,cy-by) =0 \\FRAC{Y-CY}{X-CX}=\FRAC{Y-BY}{X-BX} \\end{matrix} \right.$?Solve the symbolic solutionUsing the Mathematics tool:
solve[{(x?-? Ax) * (CX?-? bx)? +? ( Y?-? ay) * (Cy?-? by)? = =???
??? 0,? (y?-? Cy) * (x?-? bx)? = =? (y?-? by) * (x?-? cx)},? {x,?y}]??
Come to the following:
{{x?->?-(bx?-? cx)? ( Ax?bx?+?ay?by?-? ax?cx?-? a
For example, I have a piece of code as follows:
Class cls_vector_item
There is no problem with this code.
When VCT. push_back (CVI);, when the internal space of VCT is insufficient, a new space will be applied and the object will be removed!
However, note that this object should have been removed, but the internal object of the object we are currently in will be removed, but it will become garbage, that is, when the VCT applies for space, the old space is destructed, but our objects are st
mentioned. This is the function interval.
Description :A: Taking two-dimensional space as an example, the linear equation is changed to +c=0 ax+by+c=0.
The usage vector w instead (A, b) is represented by the feature vector x, which is the formula.B: For the straight line we learned. By substituting the negative instance point (0,0), we can see that the calculated result +1 is inconsistent with
STD: Difference Between Reserve and resize of Vector1. Reserve: Allocate space, change capacity but not size2.Resize: Allocate space. Changing the capacity also changes the size.
If you know the vector size, resize it as an array without allocating extra memory.
ReserveIt is a container reserved space, but does not actually create element objects. Before creating an object, you cannot reference the elements in the container. Therefore, when add
There is a copy function in the STL algorithm. We can easily write this code:#include #include #include using namespace STD;int_tmain (intARGC, _tchar* argv[]) {Doubledarray[Ten]={1.0,1.1,1.2,1.3,1.4,1.5,1.6,1.7,1.8,1.9}; vectordouble>Vdouble (Ten); vectordouble>:: Iterator Outputiterator=vdouble.begin (); Copy (darray,darray+Ten, Outputiterator); while(Outputiterator!=vdouble.end ()) {coutreturn 0;}So you want to use copy to set the to vector, so you
Dynamically assigned vector pointer Vector If it is a dynamically allocated vector pointer, you can only use the array method (the above Code is red) when inserting elements into the vector. the push_back () function has an error. Why? Use the shared_ptr vector point
Previous blogs have written about vectors using the sort algorithm, and vector some of the processing methods that have been written before.Just write it today vector . Sort by using the sort algorithm.#include #include #include #include #include BOOLCompare_int (intAMP;LHS,int RHS) {returnLHS > RHS;}BOOLCompare_first_letter (Const STD::unique_ptrSTD::string> AMP;LHS,Const STD::unique_ptrSTD::string> RHS)
C + + STL provides a very powerful sorting function sort, which can sort any array, struct, and class, let's take a look at the simplest array sort. The default ascending order, we can also add less or greater to tell the compiler what sort order we want.vectorint> v = {2015927}; // Ascending order sort (V.begin (), V.end ()), Sort (V.begin (), V.end (),less int>()); // descending order sort (V.rbegin (), V.rend ()), Sort (V.begin (), v.end (), Greaterint> ());If it's a two-dimensional array, or
The arraylist, inclulist, and vestor classes all implement the java. util. List interface, but they have different features, mainly as follows:
I,Synchronization
Arraylist and inclulist are not synchronized, while vestor is. Therefore, if thread security is required, arraylist or javaslist can be used to save costs for synchronization. But in the case of multithreading, sometimes we have to use vector. Of course, you can also package arraylist and his
Vector series in practice c ++ -- sort the vector (unique_ptr (string) using the sort algorithm (sort function error "two parameters should be input, but three parameters are provided)
Previously, I wrote a blog post on sorting the vector using the sort algorithm.vector
>
.
Today, let's write a pairvector
>
Use the sort algorithm for sorting.
# In
In practice, the vector series in c ++ -- vector (unique_ptr () initialization (Ownership Transfer)
C ++ 11 provides us with smart pointers and brings us a lot of convenience.
What if unique_ptr is used as an element of the vector container?
The format is exactly the same:vector
> vec;
But how to add elements to vec?
See the following:
# Include
Vector initialization and traversal-dtor-blog
Vector initialization and traversal
STD: Vector
Int
>
Inttest; For(IntI=0; I10;++I){Inttest. push_back (I );} For (STD: Vector Int > : Iterator ITER = Inttest. Begin (); ITER ! = Inttest. End (); ++ ITER){STD: cout * ITER STD: Endl
For vector usage, the additional time consumed by copying data to prevent reallocate memory.
The following two combinations can be used to prevent reallocate.
1. Vector: resize () using array index
2. Vector: Reserve () Use push_back ().
So I tested these two cases on the Windows 2003 platform, and compared them with 3 in which push_back () is directly
Today we want to use vector to realize the function of two-dimensional array, and try to put the two-dimensional vector. Who knows when he got started, he met Ray.
The form of the code is roughly as follows:
VECTOR
The vacuuming operation was performed because the two-dimensional vector was reused. However, th
more and more widely valued.
Statistical Learning Theory is based on a solid set of theories and provides a unified framework for solving the problem of Finite Sample learning. It can include many existing methods and is expected to help solve many difficult problems (such as Neural Network Structure Selection and Local Minimization). At the same time, based on this theory, a new general learning method-Support Vector Machine (SVM) has been developed
In practice, the vector series in c ++ -- the second worst iterator failed (deleting elements in the vector)
Directly refer to the Code:
# Include
# Include
Using namespace std; int main () {vector
V; v. push_back (1); v. push_back (2); v. push_back (3); std: vector
: Itera
Previous blogs have talked about some of the ways to use Std::find and std::find_ if. But there is no telling of the classes stored in vectors that are defined by themselves. So how do you use Std::find and std::find_if to find it?First define a class:classitem{Private:STD::stringM_itemid;intM_price;intM_count; Public: Item (STD::stringIdintPriceintcount): M_itemid (ID), M_count (count), M_price (price) {}intGetCount ()Const{returnM_count; }STD::stringGetitemid ()Const{returnM_itemid; }intGetPri
The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion;
products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the
content of the page makes you feel confusing, please write us an email, we will handle the problem
within 5 days after receiving your email.
If you find any instances of plagiarism from the community, please send an email to:
info-contact@alibabacloud.com
and provide relevant evidence. A staff member will contact you within 5 working days.