【算法与数据结构】
jkxqj
12345
展开
-
STL---deque
1 #include 2 #include 3 using namespace std; 4 typedef dequeint> INTDEQUE; 5 //从前向后显示deque队列的全部元素 6 void put_deque(INTDEQUE deque, char *name) 7 { 8 INTDEQUE::iterator pdeque;//仍然使原创 2013-08-05 15:10:30 · 857 阅读 · 0 评论 -
最大子段和-分治&&动态规划
N个整数组成的序列a[1],a[2],a[3],…,a[n],求该序列如a[i]+a[i+1]+…+a[j]的连续子段和的最大值。当所给的整数均为负数时和为0。例如:-2,11,-4,13,-5,-2,和最大的子段为:11,-4,13。和为20。Input第1行:整数序列的长度N(2 <= N <= 50000)第2 - N + 1行:N个整数(-10^9 Out原创 2013-06-16 23:35:12 · 1709 阅读 · 0 评论 -
单链表冒泡排序
#include#include#include using namespace std;typedef struct node{ int data; struct node *next;}linklist;linklist* init(){ linklist* head; head=(linklist*)malloc(sizeof(linklist));原创 2013-07-18 09:59:47 · 1073 阅读 · 0 评论 -
归并排序 MergeSort
逆序对数 时间限制:1 秒 空间限制:65536 KB 在一个排列中,如果一对数的前后位置与大小顺序相反,即前面的数大于后面的数,那么它们就称为一个逆序。一个排列中逆序的总数就称为这个排列的逆序数。如2 4 3 1中,2 1,4 3,4 1,3 1是逆序,逆序数是4。给出一个整数序列,求该序列的逆序数。Input第1行:N,N为序列的长度(n <= 50000)第2 - N +原创 2013-06-14 19:17:45 · 1124 阅读 · 0 评论 -
最长公共子序列LCS
时间限制:1 秒 空间限制:65536 KB 分值: 0给出两个字符串A B,求A与B的最长公共子序列(子序列不要求是连续的)。比如两个串为:abcicbaabdkscabab是两个串的子序列,abc也是,abca也是,其中abca是这两个字符串最长的子序列。Input第1行:字符串A第2行:字符串B(A,B的长度 <= 1000)Output输出最长的子序列,如果原创 2013-06-13 23:55:20 · 980 阅读 · 0 评论 -
priority_queue
#include#include#includeusing namespace std;struct node{ friend bool operator<(node n1,node n2) { return n1.priority<n2.priority; } int priority,value;};int原创 2013-08-05 15:10:59 · 923 阅读 · 0 评论 -
STL---set和multiset
#include #include using namespace std;int main(){ setset1; for(int i=9; i>0; i--) set1.insert(i); //有序插入 set1.erase(3); for(set::iterator p=set1.begin(); p!=set1.原创 2013-08-05 15:10:37 · 870 阅读 · 0 评论 -
STL---vector
1 #include 2 #include 3 using namespace std; 4 typedef vectorint> INTVECTOR;//自定义类型INTVECTOR 5 //测试vector容器的功能 6 int main() 7 { 8 //vec1对象初始为空 9 INTVECTOR vec1;10 //vec2对象最初有10个值为6原创 2013-08-05 15:10:28 · 870 阅读 · 0 评论 -
STL---map 和 multimap
#include #include #include using namespace std;int main(){ multimapmulmap; multimap::iterator p; typedef multimap::value_type vt; typedef string s; mulmap.insert(vt(原创 2013-08-05 15:10:39 · 858 阅读 · 0 评论 -
sort
#include#include#includeusing namespace std;int a[10]= {5435,-532,9,4,-94,9435,0,-43,-47,43};bool cmp1(int x,int y){ return x>y;}bool cmp2(int x,int y){ if(x<0 && y<0)原创 2013-08-05 15:10:34 · 853 阅读 · 0 评论 -
STL---List
表(List容器类) List(#include)又叫链表,是一种双线性列表,只能顺序访问(从前向后或者从后向前),它不支持随机访问。要访问表中某个下标处的项需要从表头或表尾处(接近该下标的一端)开始循环。而且缺少下标预算符:operator[]。同时,list仍然包涵了erase(),begin(),end(),insert(),push_back(),push_front()这些基本函数,原创 2013-08-05 15:10:32 · 930 阅读 · 0 评论 -
筛法求素数(java)
import java.util.Scanner;public class primeShaifa { public static void main(String[] args) { int n; Scanner cin = new Scanner(System.in); while (cin.hasNextInt()) { n = cin.nextInt(); in原创 2013-08-18 16:12:39 · 3912 阅读 · 0 评论