欢迎来到天天文库
浏览记录
ID:11274695
大小:76.00 KB
页数:12页
时间:2018-07-11
《利用java实现数据结构中常用的插入排序和快速排序算法》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、利用JAVA实现数据结构中常用的插入排序和快速排序算法在网上看的,挺全的,收了先。。第十章排序源程序:Data.javapackageSort;classData{Comparablekey;Objectvalue;publicData(){} publicData(Datadata){this.key=data.key;this.value=data.value;} publicData(Comparablekey,Objectvalue){this.key=key;this.value=value;}publicStringtoString(){return"key="
2、+key+";"+"value="+value+";"+"";}} Insertion.javapackageSort;publicclassInsertionSort{publicInsertionSort(){}//直接插入排序,从下标1开始publicstaticvoidstraightInsertionSort(Data[]data){inti,j;for(i=2;i3、[0].key.compareTo(data[j].key)<0;--j){data[j+1]=data[j];//记录右移}data[j+1]=data[0];//插入}}} //折半插入排序,从下标1开始publicstaticvoidBinaryInsertionSort(Data[]data){inti,j,low,high,mid;for(i=2;i4、=high){mid=(low+high)/2;if(data[0].key.compareTo(data[mid].key)<0)high=mid-1;elselow=mid+1;}//移动插入位置以后的元素for(j=i-1;j>=high+1;j--){data[j+1]=data[j];}data[high+1]=data[0];//插入}}} //表插入排序publicstaticvoidListInsertionSort(Data[]data){inti,j,k;//innerclass:TableclassTable{Comparablekey;intnext5、;}Table[]table=newTable[data.length];for(i=1;i6、y)<=0;j=k,k=table[k].next);table[j].next=i;table[i].next=k;}Data[]newData=newData[data.length];intposition=table[0].next;for(i=1;i7、ata[i];}}} QuickSort.javapackageSort;importQueue.*; publicclassQuickSort{publicQuickSort(){} //起泡排序publicstaticvoidBubbleSort(Data[]data){inti,j,lastChangeIndex;Datatemp;i=data.length-1;while(i>1){lastChangeIndex=1;for(j=1;j
3、[0].key.compareTo(data[j].key)<0;--j){data[j+1]=data[j];//记录右移}data[j+1]=data[0];//插入}}} //折半插入排序,从下标1开始publicstaticvoidBinaryInsertionSort(Data[]data){inti,j,low,high,mid;for(i=2;i4、=high){mid=(low+high)/2;if(data[0].key.compareTo(data[mid].key)<0)high=mid-1;elselow=mid+1;}//移动插入位置以后的元素for(j=i-1;j>=high+1;j--){data[j+1]=data[j];}data[high+1]=data[0];//插入}}} //表插入排序publicstaticvoidListInsertionSort(Data[]data){inti,j,k;//innerclass:TableclassTable{Comparablekey;intnext5、;}Table[]table=newTable[data.length];for(i=1;i6、y)<=0;j=k,k=table[k].next);table[j].next=i;table[i].next=k;}Data[]newData=newData[data.length];intposition=table[0].next;for(i=1;i7、ata[i];}}} QuickSort.javapackageSort;importQueue.*; publicclassQuickSort{publicQuickSort(){} //起泡排序publicstaticvoidBubbleSort(Data[]data){inti,j,lastChangeIndex;Datatemp;i=data.length-1;while(i>1){lastChangeIndex=1;for(j=1;j
4、=high){mid=(low+high)/2;if(data[0].key.compareTo(data[mid].key)<0)high=mid-1;elselow=mid+1;}//移动插入位置以后的元素for(j=i-1;j>=high+1;j--){data[j+1]=data[j];}data[high+1]=data[0];//插入}}} //表插入排序publicstaticvoidListInsertionSort(Data[]data){inti,j,k;//innerclass:TableclassTable{Comparablekey;intnext
5、;}Table[]table=newTable[data.length];for(i=1;i6、y)<=0;j=k,k=table[k].next);table[j].next=i;table[i].next=k;}Data[]newData=newData[data.length];intposition=table[0].next;for(i=1;i7、ata[i];}}} QuickSort.javapackageSort;importQueue.*; publicclassQuickSort{publicQuickSort(){} //起泡排序publicstaticvoidBubbleSort(Data[]data){inti,j,lastChangeIndex;Datatemp;i=data.length-1;while(i>1){lastChangeIndex=1;for(j=1;j
6、y)<=0;j=k,k=table[k].next);table[j].next=i;table[i].next=k;}Data[]newData=newData[data.length];intposition=table[0].next;for(i=1;i7、ata[i];}}} QuickSort.javapackageSort;importQueue.*; publicclassQuickSort{publicQuickSort(){} //起泡排序publicstaticvoidBubbleSort(Data[]data){inti,j,lastChangeIndex;Datatemp;i=data.length-1;while(i>1){lastChangeIndex=1;for(j=1;j
7、ata[i];}}} QuickSort.javapackageSort;importQueue.*; publicclassQuickSort{publicQuickSort(){} //起泡排序publicstaticvoidBubbleSort(Data[]data){inti,j,lastChangeIndex;Datatemp;i=data.length-1;while(i>1){lastChangeIndex=1;for(j=1;j
此文档下载收益归作者所有