- 1、本文档共39页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
c风格字符串操作与算法库简单运用讲义教材.pptx
C风格字符串操作与算法库简单运用;字符串的本质;热身训练;热身训练;热身训练;字符串的参数传递;字符串的参数传递;字符串的参数传递;字符串的参数传递;strlen原理;strcpy原理;交换两个字符串;交换两个字符串;扩展:对字符串进行排序;扩展:对字符串进行排序;说完了字符串的指针操作,让我们看看数组;问题:怎样让我写的算法可以应用于不同的数组?;实现方法;我要如何具体实现这样的函数呢?;algorithm库有哪些函数呢?;到底有什么具体应用呢?
让我们先看一道题目吧。
;跳蚤市场;跳蚤市场;跳蚤市场;跳蚤市场;解题思路;怎样既让程序既快又简单?;#includeiostream
#includealgorithm
using namespace std;
int a[1000010]; //用一个数组存储堆中元素
bool comp(const int x, const int y)
{
return x y;
}
//比较函数,用于规定堆为小根堆,make_heap默认为大根堆
;int main(){
int n, m = 0;
cin n;
while(n--){
int x, y;
cin x y;
if (x) {
a[m++] = y; //将y置于堆尾用于插入
push_heap(a, a + m, comp);
} else if (m = y) {
while (y--) {
pop_heap(a, a + m, comp);
cout a[--m] endl; //堆顶元素弹出至尾部
}
} else cout Fail.\n;
}
return 0;
}
;小结;NOIP2007 统计数字;NOIP2007 统计数字;解题思路;#includecstdio
#includealgorithm
#define N 200010
#define rep(i,n) for(int i=0;i(n);i++)
using namespace std;
int a[N], b[N];
int main(){
int n;
scanf(%d, n);
rep(i,n) scanf(%d, a + i);
sort(a, a + n);
int m = unique_copy(a , a + n, b) - b;//将a[0]到a[n-1]去重后放入b数组
rep(i,m) printf(“%d %d\n”, b[i], ?);
return 0;
}
?处的答案为: upper_bound(a , a + n, b[i]) - lower_bound(a , a + n, b[i])(白色字体);总结;课后思考;谢谢大家!
文档评论(0)