11 2012 档案
摘要:给定一个无序的数列,由32位整数组成的,序列长度可达500000,现在通过不断的两两交换,把这个序列排成由小到大的有序序列,问交换的次数是多少。 1 #include<stdio.h> 2 #include<stdlib.h> 3 #define NN 500005 4 5 int a[NN]; 6 __int64 count; 7 8 void Merge(int data[], int l, int m, int r) 9 {10 int i = l;11 int j = m + 1;12 int k = 0;13 int *pd;14 pd =...
阅读全文
摘要:1 #include<stdio.h> 2 #include<stdlib.h> 3 #define MAX 1000010 4 5 int g_a[MAX]; 6 7 int pasition(int number[], int len, int left, int right) 8 { 9 int i = left;10 int j = right;11 number[0] = number[i];12 while (i < j)13 {14 while (i<j && number[j]>number[0])15 ...
阅读全文
摘要:1 #include<stdio.h> 2 #include<stdlib.h> 3 typedef struct Node 4 { 5 int data; 6 struct Node *next; 7 }CLNode; 8 void DeleCL(CLNode *lhead, int m) 9 {10 int i = 1;11 CLNode *p = lhead;12 CLNode *q = lhead;13 while (p != NULL)14 {15 if (i == m)16 {17 ...
阅读全文
摘要:Description输入n个整数,先按照数据输入的顺序建立一个带头结点的单链表,再输入一个数据m,将单链表中的值为m的结点全部删除。分别输出建立的初始单链表和完成删除后的单链表。Input第一行输入数据个数n;第二行依次输入n个整数;第三行输入欲删除数据m。Output第一行输出原始单链表的长度;第二行依次输出原始单链表的数据;第三行输出完成删除后的单链表长度;第四行依次输出完成删除后的单链表数据。Sample Input10562512336654712331212Sample Output10562512336654712331275625336654733 1 #include<
阅读全文
摘要:分两个栈,一个存运算符号,另一个存数字;判断符号的优先级,再进行计算。 表达式计算Time Limit: 1000 MSMemory Limit: 10240 KTotal Submit: 1(1 users)Total Accepted: 1(1 users)Special Judge:NoDescription输入一个中缀表达式,要求输出计算的结果,保留到小数点后4为位。表达式中的数均为非负数,可能为小数,不会出现-2,+2的情况,就是说不会有 1 + - 2、1 * -2、2*+2这样的情况。数字为整数或者带小数的形式...
阅读全文
摘要:题意为恐怖分子要炸理工,但是要把炸弹连接起来,那样才放便作案。问怎么样才能用最短的线把炸弹都连接起来。用到最小生成树的算法。prim 算法:任意找一点A为树,以这个点为起点找离它最近的点的距离设为点B,再把B加入树,以(A,B)为整体,找离她们两个最近的距离设为点C ,把C也加入到树中。依次类推。Kruskal 算法:先对所有距离从小到大排列,由小到大依次找,如果前面的距离是当前距离的一个集合(也就是当前的距离是否包括前面多了距离),不包括了加入到距离中,否则不加; 1 /*#include<stdio.h>//kruskal算法实现 2 #include<stdlib.h&
阅读全文

浙公网安备 33010602011771号