数据结构
无所谓的小蜗牛
Don't think other people's understandings as the nuts and bolts in that you are yourself of great account and proud as a king inside
展开
-
[数据结构]最大子列和问题
最大子列和问题(20 分) 给定K个整数组成的序列{ N1,N2, …, NK},“连续子列”被定义为{ Ni, Ni+1, …,Nj},其中 1≤i≤j≤K。“最大子列和”则被定义为所有连续子列元素的和中最大者。例如给定序列{ -2, 11, -4, 13, -5, -2 },其连续子列{ 11, -4, 13 }有最大的和20。现要求你编写程序,计算给定整数序列的最大子列和。 本题旨...原创 2018-06-11 10:45:16 · 308 阅读 · 0 评论 -
排序——选择排序
简单选择排序:对一个序列A中的元素A[1]~A[n],令i从1到n枚举,进行n趟操作,每趟从待排序部分[i,n]中选择最小的元素,令其与待排序的部分第一个元素A[i]进行交换,这样元素A[i]就会与当前有序区间[1,i-1]形成新的有序区间[1,i]。于是在n趟操作后,所有元素就会是有序的。 void selectSort(){ for( int i = 1; i <= n; i...原创 2019-02-06 16:16:17 · 187 阅读 · 0 评论 -
排序——归并排序
二路归并的实现 1、递归实现 const int maxn = 100; //将数组A的[L1, R1]与[L1, R2]区间合并为有序区间(此处L2即为R1 + 1) void merge(int A[], int L1, int R1, int L2, int R2) { int i = L1, j = L2; int temp[maxn], index = 0; ...原创 2019-03-03 21:05:47 · 188 阅读 · 0 评论 -
排序——快速排序
//对区间进行划分 int Partition(int A[], int left, int right) { int temp = A[left]; while(left < right){ while(left < right && A[right] > temp) right--; A[left] = A[r...原创 2019-03-03 21:29:20 · 220 阅读 · 0 评论