首页 > 编程知识 正文

c语言中常见的数据类型,c语言的数据结构有哪些

时间:2023-05-05 01:49:33 阅读:24799 作者:2637

到现在为止我写了c的代码,基本上使用了c的数据结构。 这次实现了比较大型的c项目,发现了很多有用的数据结构。 使用这些数据结构可以大大提高开发效率。 因此,我打算从实用的角度逐渐整理c的数据结构和他们的使用方法,供自己和ygdmj参考。 暂时不参与时间性能。

STD : string STD :3360 stringstr=' AAA '; str ='b '; //可以直接连接字符串,比使用char*容易多了,STD :3360 vectors TD 33603360 vectorintvec; STD:3360vectorintvec(3; //深度为3的整形数据STD :3360 vectorintvec (3,1 ); //深度为3的整形数据被初始化为1vec.size ()//获得的vec中的元素的数目,即size大小) vec.push_back(2)。 从//push 2到vec末尾,重置深度为1vec.resize(5)//vec的size,我一般增加size。 此时,原始数据保持不变。 push_back ) )比逐个增加数据更有效率。 清空指向VEC.data//vec的pointer vec.clear//vec//STD 33603360 vector非常灵活,可与各种数据结构结合使用: STD 33603360 vectors tttor STD :3360 vectors TD :3360 pair int,std:string vec_pair; //为数组vec _ pair.push _ back (STD 33603360 pair int,STD33603360string(1,' abc ' ) )定义了int string的键值。 STD :3360 cout ' vec _ pair [0]=' (vec _ pair [0].first ',' vec_pair[0].second'(n ' ); std:array //array用于size固定序列,与内置序列相比安全,与载体相比高性能std:arrayint,8 arr1; //长度为8的序列std:arrayint,3 arr2={ 1,2,3 }; //STD:3360pair初始化//支持各种pair组合std:pairint,int pair_ii; std:pairint,double pair_id; STD : pairs TD :3360 string,intpair_si('ls ',10 ); STD :3360 cout ' pair _ si=' pair _ si.first ',' pair_si.second ' )n '; STD :映射图是(key,value )的键/值对。

std:mapuint32_t,uint32_t root; //STD:3360mapuint32_t,uint 32 _ t root={ 2,3 },{ 5,7 }; //初始化赋值root.insert (1,10 ); //赋值std:mapuint32_t,uint 32 _ t :3360 iterator ITER _ a=root.find (a ); 根据root中是否存在ASTD33603360coutroot.at(2) std:endl的//key查找,输出针对的value if (ITER _ a==root.) //如果不存在,则可以直接分配值else { uint 32 _ t root _ a=ITER _ a-second; 如果存在//,则得到该值} std:set set也是一种特别有用的数据结构,它的唯一性允许对整数数据进行排序和排序。

std:arrayint,10 arr { 1,3,7,3,2,6,4,4,1,5 }; //arr已退出,std:setint arr_sort; for(intI=0; i arr.size (; I ) arr_sort.insert(arr[I]; //result : arr _ sort={ 1,2,3,4,5,6,7 }; //pairs TD 33603360 set STD 33603360 pair int,int set_pair; set _ pair.insert (STD :3360 pair int,int (1,2 ); set _ pair.insert (STD :3360 pair int,int (1,1 ); //它首先按first排序,然后再按second排序。 同样,去除重量的功能for (STD :3360 set STD 33603360 pair int,int 33603360 iterator ITER=set _ pair.begin ITER!=set_pair.end (; iter ) STD :3360 cout ' set _ pair=(ITER-first )、(iter-second ) ) n ); 这些数据结构中的许多具有相同的基类,许多function可以直接不用大脑。 例如,size (,data )……当然还有很多好用的功能,但是这里没有提到。 请访问http://www.cplusplus.com/referenc ces

之后的计划用到哪里,补充到哪里?

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。