博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
模板集(更新中)
阅读量:4959 次
发布时间:2019-06-12

本文共 3891 字,大约阅读时间需要 12 分钟。

源自挑战程序设计竞赛以及其他博客。

平时常用的头文件。bits不敢滥用。

#include 
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
//#include <>using namespace std;

 

1.插入排序

1 void insertionsort(int* a,int n) 2 { 3     int v,j; 4     for(int i=1;i
=0&&a[j]>v) 9 {10 a[j+1]=a[j];11 j--;12 }13 a[j+1]=v;14 trace(a,n);15 }16 }

2.冒泡排序

sw代表swap的次数。

1 int bubblesort(int *a,int n) 2 { 3     int sw=0; 4     bool flag=1; 5     for(int i=0;flag;i++) 6     { 7         flag=0; 8         for(int j=n-1;j>=i+1;j--) 9         {10             if(a[j]

 

。。。

 

3.双向链表

struct Node{    int key;    Node *next,*prev;};Node *nil;Node *listSearch(int key){    Node *cur=nil->next;    while(cur!=nil&&cur->key!=key)    {        cur=cur->next;    }    return cur;}void init(){    nil=(Node*) malloc(sizeof(Node));    nil->next=nil;    nil->prev=nil;}void printList(){    Node *cur=nil->next;    int isf=0;    while(1){        if(cur==nil)            break;        if(isf++>0)            printf(" ");        printf("%d",cur->key);        cur=cur->next;    }        printf("\n");}void deleteNode(Node *t){    if(t==nil){        return;    }    t->prev->next=t->next;    t->next->prev=t->prev;    free(t);}void deleteFirst(){    deleteNode(nil->next);}void deleteLast(){    deleteNode(nil->prev);}void deleteKey(int key){    deleteNode(listSearch(key));}void insert(int key){    Node *x=(Node *)malloc(sizeof(Node));    x->key=key;    x->next=nil->next;    nil->next->prev=x;    nil->next=x;    x->prev=nil;}int main(){    int key,n,i,size=0,np=0,nd=0;    char com[21];    scanf("%d",&n);    init();    for(int i=0;i
6){ if(com[6]=='F') deleteFirst(); else if(com[6]=='L'); deleteLast(); } else{ deleteKey(key); nd++; } size--; } } printList(); return 0;}

 4.pair ,make pair 的使用(ALDS1——3——B Queue)

 

1 int main() 2 { 3     int n,q,t; 4     string name; 5     queue
> Q; 6 7 cin>>n>>q; 8 9 for(int i=0;i
>name>>t;12 Q.push(make_pair(name,t));13 }14 15 pair
u;16 int elaps=0,a;17 18 while(!Q.empty()){19 u=Q.front();20 Q.pop();21 22 a=min(u.second,q);23 u.second-=a;24 25 elaps+=a;26 if(u.second>0){27 Q.push(u);28 }29 else{30 cout<
<<" "<
<

 

5.vector的操作

void print(vector
V){ for(int i=0;i
V; V.push_back(0.1); V.push_back(0.2); V.push_back(0.3); V[2]=0.4; print(V); V.insert(V.begin()+2,0.8); print(V); V.erase(V.begin()+1); print(V); V.push_back(0.9); print(V); return 0;}

 

 

 6.list操作

1 int main() 2 { 3     int q,x; 4     char com[20]; 5      6     list
v; 7 scanf("%d",&q); 8 9 for(int i=0;i
::iterator it = v.begin();it!=v.end();it++)33 {34 if(*it==x)35 {36 v.erase(it);37 break;38 }39 }40 }41 }42 43 int i=0;44 for(list
::iterator it = v.begin();it!=v.end();it++)45 {46 if(i++)47 printf(" ");48 printf("%d",*it);49 }50 51 printf("\n");52 return 0;53 }

 

 

 6.散列法

 

#define M 1046527#define NIL (-1)#define L 14using namespace std;char H[M][L];int getChar(char ch){    if(ch=='A')        return 1;    if(ch=='C')        return 2;    if(ch=='G')        return 3;    if(ch=='T')        return 4;    return 0;}long long getKey(char str[]){    long long sum = 0,p=1,i;    for(i=0;i

 

。。

 

转载于:https://www.cnblogs.com/greenaway07/p/10546899.html

你可能感兴趣的文章
菜鸟对APP界面设计的一些心得小结
查看>>
nyoj 1208——水题系列——————【dp】
查看>>
ssh
查看>>
Spring Boot 集成 thymeleaf 模版引擎
查看>>
安装器---Inno Setup
查看>>
awk基本用法
查看>>
MySql5.7安装及配置
查看>>
选数字(贪心+枚举)
查看>>
js性能优化-事件委托
查看>>
用django创建一个简单的sns
查看>>
fdg
查看>>
CI 日志类
查看>>
3.28上午
查看>>
Servlet学习-会话技术session
查看>>
thinkphp之cookie操作
查看>>
对 Linux 新手非常有用的 20 个命令
查看>>
QT设置标签字体大小和颜色
查看>>
codevs 1332 上白泽慧音
查看>>
XML之DOM解析文档 Day24
查看>>
org.hibernate.AnnotationException: No identifier specified for entity:
查看>>