初中信息学c语言组竞赛ppt,论C语言在信息学竞赛中的应用-Read.PPT
論C語言在信息學(xué)競賽中的應(yīng)用-Read
論C++語言在信息學(xué)競賽中的應(yīng)用 浙江省余姚中學(xué) 韓文弢 關(guān)于信息學(xué)競賽 信息學(xué)競賽一般要求在一定的時(shí)間內(nèi),理解并分析題意,設(shè)計(jì)符合給定時(shí)間和空間復(fù)雜度要求的算法,并在計(jì)算機(jī)上使用一定的程序設(shè)計(jì)語言正確地實(shí)現(xiàn)算法。 由于整個(gè)競賽存在時(shí)間限制,因此所使用的程序設(shè)計(jì)語言能否正確、快速地實(shí)現(xiàn)算法對競賽的成績影響頗大。 關(guān)于信息學(xué)競賽 所以,編程復(fù)雜度成為和算法的時(shí)間以及空間復(fù)雜度同等重要的因素。 編程復(fù)雜度在很大程度上與所選用的程序設(shè)計(jì)語言有關(guān)。 一般信息學(xué)競賽中比較常用的程序設(shè)計(jì)語言有BASIC、Pascal、C++、Java等。 信息學(xué)競賽中常用語言的特點(diǎn) 中學(xué)信息學(xué)競賽的語言現(xiàn)狀 BASIC語言正逐漸被淘汰。↘ Pascal語言使用較為廣泛,基本保持穩(wěn)定。→ C++語言憑借其本身所具有的高度的靈活性,以及它所帶的庫的強(qiáng)大功能,被越來越多的選手所使用。 ↗ 本文的目的和結(jié)構(gòu) 目的:使讀者在掌握Pascal語言的前提下,能盡快地掌握C++語言,并在此基礎(chǔ)上進(jìn)一步深入C++語言的高級應(yīng)用。 結(jié)構(gòu): 1 從Pascal到C++ 2 深入C++語言 3 STL簡介 3 STL簡介 閱讀本章的必要條件:了解C++面向?qū)ο蟪绦蛟O(shè)計(jì)的基礎(chǔ)知識、了解一定的算法知識 本章的結(jié)構(gòu): 3.1 STL概述 3.2 迭代器 3.3 算法 3.4 容器 3.5 本章小結(jié) 3.1 STL概述 一般化編程 一般化編程(generic programming)的提出 void?swap(int&?x,?int&?y)?{????int?t?=?x;????x?=?y;????y?=?t;} 模板函數(shù) 模板函數(shù) templatevoid?swap(T&?x,?T&?y)?{????T?t?=?x;????x?=?y;????y?=?t;} 模板函數(shù)的調(diào)用 模板函數(shù)的調(diào)用 隱式調(diào)用 swap(x,?y); 顯式調(diào)用 swap(x,?y); 模板類 模板類 templatestruct?c_array?{????typedef?T?value_type;????typedef?T&?reference;????typedef?const?T&?const_reference;????T?v[max];????operator?T*();????reference?operator?[](size_t?i);????const_reference?operator?[](size_t?i)?const;????size_t?size()?const;}; 模板類的使用 模板類的使用 c_array?a; c_array?b; c_array,?10>?c; STL概述 STL就是建立在模板函數(shù)和模板類基礎(chǔ)之上的功能強(qiáng)大的庫 模板函數(shù)可以實(shí)現(xiàn)一般化的常用算法(如統(tǒng)計(jì)、排序、查找等) 模板類可以實(shí)現(xiàn)支持幾乎所有類型的容器,用來實(shí)現(xiàn)常用的數(shù)據(jù)結(jié)構(gòu)(如鏈表、棧、隊(duì)列、平衡二叉樹等) STL頭文件一覽 3.2 迭代器 迭代器的定義和種類 迭代器(iterator)實(shí)際上是一種一般化的指針類型,是對指針類型的抽象。 根據(jù)所支持操作的不同,迭代器被分為五大類: 輸出迭代器(input iterator) 輸入迭代器(output iterator) 前向迭代器(forward iterator) 雙向迭代器(bidirectional iterator) 隨機(jī)迭代器(random access iterator) 各種迭代器的功能 更多關(guān)于迭代器的信息 指針類型就是一種特殊的隨機(jī)迭代器類型。 對于一般的迭代器,這些功能都是通過操作符重載來實(shí)現(xiàn)的。 更多關(guān)于迭代器的信息 各種迭代器類型之間的關(guān)系: 迭代器的作用 訪問元素 算法與容器之間的紐帶 模板類pair templatestruct?pair?{????typedef?T1?first_type;????typedef?T2?second_type;????T1?first;????T2?second;????pair()?:?first(T1()),?second(T2())?{?}????pair(const?T1&?x,?const?T2&?y)?????:?first(x),?second(y)?{?}????template????pair(const?pair&?p)?????:?first(p.f
總結(jié)
以上是生活随笔為你收集整理的初中信息学c语言组竞赛ppt,论C语言在信息学竞赛中的应用-Read.PPT的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 马尔科夫状态转移矩阵
- 下一篇: 毕设树莓派小车