一、C++输出指定位数小数
int x=3.14;
cout<<fixed<<x; //输出3.14
cout<<fixed<<setprecision(1)<<x; //输出3.1
cout<<setprecision(1)<<x; //3.14e+00;
fixed保留小数点后六位并允许进位,scientific同样。
二、选择排序是什么
选择排序就是从数组最开始的位置开始,每次选出后续最小(最大)的元素放在那里,然后放在那里,然后进入下一位,继续选后续最小(最大)的,直到数组结束
#include<iostream>
using namespace std;
void select_sort(int* a,int n)
{
for (int i = 0; i < n; i++)
{
int index = i;
for (int j = i + 1; j < n; j++)
{
if (a[index] > a[j])index = j;
}
swap(a[i], a[index]);
}
}
void main()
{
int a[10]{ 5,7,9,6,3,1,4,8 };
select_sort(a, 8);
for (int i = 0; i < 8; i++)
{
cout << a[i]<<" ";
}
}
三、输出数组的长度
string s;
s.size();
s.length();
size(s);
四、获取字符串长度函数
strlen(str)
五、C++动态数组
动态数组初始化(默认):
int* Dynamic_Arr3 = new int[size](); //默认的初始化 size为数组长度
动态数组初始化(显式):
string* Dynamic_Arr4 = new string[size]{"a","b","c","d",string(2,'e')};
动态数组释放:
delete []Dynamic_Arr4;
delete释放数组式逆序进行的,最后一个元素被最先释放,第一个元素最后一个被释放
六、vector
初始化vector对象的方法
vector<T> v1
v1是一个空的vector,它潜在元素是T类型的,执行默认初始化
添加元素 push_back
添加元素一定要用push_back,push_back有两个作用:告诉编译器为新元素开辟空间,将新元素存入新空间里。
通过迭代器访问元素
vector<string> v6={"hi","my","name","is","lee"};
for(vector<string>::iterator iter = v6.begin();iter!=v6.end();iter++)
{
cout<<*iter<<endl;
//下面两个方法都可以检查迭代器是否为空
cout<<(*iter).empty()<<endl;
cout<<iter->empty()<<endl;
}
七、动态创建二维数组
int** arr = new int*[n];
vector<vector<int>> arr(n,vector(n,0));
使用的方法接下来跟arr[i][j]相同