欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

c++学习记录

程序员文章站 2022-07-09 21:46:37
...

c++数组学习记录

continue:重判断执行条件,然后自上而下执行
break : 跳出循环
//获取a数组的长度,不能用于string数组;
int N = (sizeof(a) / sizeof(int));

来自于时秋的https://blog.csdn.net/qq_33981438/article/details/80785855
数组:一旦确定了大小就不能更改
冒泡排序:
*1.第一轮比较的次,数组长度减一
*2.下一轮比上一轮比较次数,少一次
用for循环实现,外层for表示行数,内存for表示列数,每次选出最小值,在进行下一循环

选择排序
	*1假设数组第一个元素为最小值int min = a[0];int minIndex = 0;
	*2比较得到最小的值和下标min = a[i];minIndex = i;
	通过冒泡排序的方法,用for循环实现,外层for表示列数,内存for表示行数,每次选出最小值,在进行下一循环
	
逆序
	循环数组长度一半的次数,将头跟尾交换
	
数组的删除和插入
	插入
		*1数组的插入 找到要插入的位置 大于它或者小于它的数值的向后移一位或者向前加一位
		*2.从最后一个元素开始,将数字复制到后一个元素中 power[i + 1] = power[i];
		
	删除
		*数组的删除 找到删除的位置 后面的数字向前移位power[i] = power[i + 1]; 

http://www.bubuko.com/infodetail-945397.html
数组的代替品
模板类vector:一种动态数组
*1.头文件 #include.
*2.创建vector对象, vector vec;
*3.尾部插入数字: vec.push_back(a);
*4.使用下标访问元素, cout<<vec[0]<<endl;记住下标是从0开始的。
*5.使用迭代器访问元素 vector::iterator it; for(it=vec.begin(); it!=vec.end(); it++)cout<<*it<<endl;
*6.插入元素: vec.insert(vec.begin()+i,a);在第i+1个元素前面插入a
*7.删除元素: vec.erase(vec.begin()+2);删除第3个元素
vec.erase(vec.begin()+i,vec.end()+j);删除区间[i,j-1];区间从0开始
*8.向量大小:vec.size();
*9.清空:vec.clear();

	算法:
		*1.使用reverse将元素翻转:需要头文件#include<algorithm>
			reverse(vec.begin(),vec.end());将元素翻转(在vector中,如果一个函数中需要两个迭代器,一般后一个都不包含.)

		*2.使用sort排序:需要头文件#include<algorithm>,sort(vec.begin(),vec.end());(默认是按升序排列,即从小到大).
			可以通过重写排序比较函数按照降序比较,如下:
			定义排序比较函数:
				bool Comp(const int &a,const int &b)
				{
					return a>b;
				}
				调用时:sort(vec.begin(),vec.end(),Comp),这样就降序排序。
相关标签: 学习记录1 c++