2021-01-12
程序员文章站
2022-03-21 11:22:31
java里常见的集合有什么特点java 中的集合分为,单列集合Collection,双列集合Map。Collection 分为:List 、 SetList有序可重复 分为ArrayList、Vector、LinkedList:ArrayList:底层实现是数组,查询快,增删慢,线程不安全,效率高,每次扩容为当前容量的1.5倍+1;Vector:底层实现是数组,查询快,增删慢,线程安全,效率低,扩容机制为翻倍;LinkedList:底层实现是双向链表,增删快,查询慢,线程不安全,效率高;Set...
算法分析——合并排序算法
算法设计及描述
1.设置三个指针i,j,k;其中i和j指示两个待排序序列中当前需比较的元素,k指向辅助数组B中待放置元素的位置。
2.比较A[i]和A[j]的大小关系,小的取出来,如果A[i]小于等于A[j],则B[k]=A[i],同时将指针i和k分别推进一步;反之,B[k]=A[j],同时将指针j和k分别推进一步;如此反复,直到其中一个序列为空。
3.然后,将非空序列中的剩余元素按原次序全部放到辅助数组B的尾部。最后,将合并后的序列复制回数组A中。
合并排序算法
void Merge(int A[],int low,int middle,int high)
{
int i,j,k;
int *B=new int[high-low+1];
i=low;
j=middle+1;
k=low;
while(i<=middle&&j<=high) //两个子序列未空
if(A[i]<=A[j]) B[k++]=A[i++];
else B[k++]=A[j++];
while(i<=middle) B[k++]=A[i++]; //左边未空
while(j<=high) B[k++]=A[j++]; //右边未空
for(i=low;i<=high;i++) A[i++]=B[i++]; //将合并后的序列复制回数组A中
}
本文地址:https://blog.csdn.net/qq_46113430/article/details/112549137
下一篇: Ajax实现局部刷新
推荐阅读