1.代码的优化
代码的优化是指代码效率的提升。比如说我在二分搜索中做的那个程序:
/*二分搜索
*以vector为例
*/
#include<iostream>
#include<vector>
using namespace std;
int main()
{
vector<int> p;
int c;
for(int i=1;i<=10;++i)
{
cin>>c;
p.puch_back(c);
}
p.sort(p.begin(),p.end(),[](const int& a,const int& b){ return a<b; })//排序
auto beg=p.begin();
cout<<"请输入您要查询的数"<<endl;
int num;
cin>>num;
auto end=p.end();
auto middle=p.begin()+(end-beg)/2+1;//中间点
while(middle!=end&&*middle!=num)
{
if(num<*middle)
end=middle;//调整范围
else
beg=middle+1;//调整范围
middle=beg+(end-beg)/2;
}
if(middle==end)
cout<<"未找到!"<<endl;
else
cout<<"找到了"<<*middle<<endl;
return 0;
}
代码的优化让效率提高了。
代码优化要:
1.有清晰的思路
2.满足必要的条件
2.代码的简化
代码的简化是指可以让原来的多行代码变成较短的代码。
我们在编程中常常写出不必要的代码,所以我们要尽可能的简化代码。
参考以下例子:
bool badone(const long long unsigned& p)
{
return p==0;
}
bool goodone(const long long unsigned& p)
{
return p;
}
相信很多人都会写成第一个吧!
不过==0是不必要的。因为bool变量在非0的时候都为true。
再来一个:
#11111111111111
cout<<*beg++;
#22222222222222222222
cout<<*beg;
++beg;
很明显,是第一个简洁吧。
代码的简化让代码简洁了。
代码简化要:
1.有清晰的思路
2.了解底层的一些规则
3.了解运算符的优先级
阅读求评论求点赞!