ACM 书中题目专题总结

  ACM 书中题目专题结束了,通过这一个专题的练习,掌握了一些写程序的技巧,同时也发现了自己在写程序中出现的问题。在写程序时发现自己总是对题意理解不够深刻,要花费很长时间才能读懂一个题目,对一个题目总是感觉无从下手,知识掌握的不够多,STL应用不够熟练,对写出的程序思考不够严谨,导致总是提交失败。

  第一个专题的练习使我了解了STL,以及STL的应用。STL就是标准模版库,其中非包含了一些简单函数,有向量(vector) 队列(queue) 堆栈(stack) 集合(set)等。

 栈:是一种先进后出的数组结构,她有一个出口,只能操作最顶端的元素。empty() 表示栈内是否为空; size()返回栈内元素个数;top() 返回栈顶元素值; pop() 移除栈顶元素; push() 像栈压入一个元素。

队列:市一中先进先出的数据结构,从底端加入元素,从顶端取出元素。 empty() ;size(); pront() 返回队列内下一个元素; back() 返回对内最后一个元素; pop() ;push()。

动态数组:empty() ; size() ; push_back() 将元素插入最尾端; pop_back() 将最尾端元素删除; v[i] 类似数组取第i位置的元素。

sort: 排序,默认从小到大排序;sort(begin,end,cmp)。可以通过自定义,改变排列规则。

upper_bound、lower_bound:upper_bound(begin,end,value) 返回>value的元素的第一个位置;lower_bound(bagin,end,value)返回>=value的元素的第一个位置。

set和multiset:set和multiset 会根据特定的排序准则,自动将元素排序,两者的不同之处在于multise可以允许元素重复而set不允许于元素重复。

map和multimap:所有元素都会根据元素的键值自动排序,map的所有元素都是pair,pair的第一个元素都被视为键值,第二个元素为实值。map不允许两个元素有相同的键值,但multimap可以。

优先队列(priority_queue):一个拥有权值观念的queue,自动依照元素的权值排列,权值最高的排在前面。缺省情况下,函数是利用一个max_heap完成的。

   通过这次训练,对编程有了大体的概念,感觉自己写代码的能力强了很多,对稍微复杂的题目有一定的分析能力,解决问题的能力也提升了许多,对提交出现的问题也有了较强的应变能力。同时学会了运用一些简单的函数来简化代码,调试的能力也提升了一个档次。通过对ACM的学习,感觉自己知识面广了很多,逻辑能力提升了很多,独立思考能力得到了强化,学会思想的灵活运用。

   ACM第一个专题虽然已经结束,但这个专题尚未完成的题我会继续尝试,提升自己读题,解题的能力,强化对STL的应用。以后的训练我会投入更多的时间来练习,增强自己写代码的能力,熟练运用各种函数,

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值