初学C++经常忘记的一些东西(二)(个人向)

本文介绍了C++中如何控制小数输出,如使用fixed和setprecision设置精度。接着,详细阐述了选择排序算法的工作原理及其实现代码。还讨论了获取字符串长度的函数以及动态数组的初始化、释放。此外,提到了vector容器的使用,包括添加元素和通过迭代器访问元素。最后,提到了动态创建二维数组的方法。
摘要由CSDN通过智能技术生成

一、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]相同

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值