順序表實現二分排序
/*
Author:Albert Tesla Wizard
Time:2020/11/22 14:10
*/
#include<bits/stdc++.h>
#define MAXSIZE 1000
using namespace std;
struct Sqlist
{
int* elem;
int length;
};
int BinarySort(Sqlist&L);
int create(Sqlist&L,int a[],int n)
{
L.elem=new int[MAXSIZE];
L.length=0;
for(int i=0;i<n;i++){L.elem[i+1]=a[i];L.length++;}
}
void print(Sqlist L)
{
for(int i=1;i<=L.length;i++)cout<<L.elem[i]<<" ";
cout<<'\n';
}
int main()
{
ios::sync_with_stdio(false);
cin.tie(0);
cout.tie(0);
Sqlist L;
int a[10]={4,5,3,1,2,6,9,7,8,10};
create(L,a,10);
print(L);
BinarySort(L);
print(L);
return 0;
}
int BinarySort(Sqlist&L)
{
for(int i=2;i<=L.length;i++)
{
L.elem[0]=L.elem[i];
int low=1,high=i-1;
while(low<=high)
{
int mid=(low+high)/2;
if(L.elem[0]<L.elem[mid])high=mid-1;
else low=mid+1;
}
for(int j=i-1;j>=high+1;j--)L.elem[j+1]=L.elem[j];
L.elem[high+1]=L.elem[0];
}
}
相關文章
- Java實現順序表Java
- 順序表的實現
- 順序表的堆排序排序
- DS順序表--類實現
- C語言實現順序表C語言
- 線性表的使用——順序實現
- c++模擬實現順序表C++
- 線性表-順序表C語言實現C語言
- 資料結構實驗一:順序表的建立與操作實現、順序表實現約瑟夫環問題資料結構
- 順序表
- 【資料結構】實現順序表(c++)資料結構C++
- 順序表的基本方法實現C語言版C語言
- 【資料結構】實現順序表(c語言)資料結構C語言
- 順序表應用5:有序順序表歸併
- 順序表應用6:有序順序表查詢
- 「Python實用祕技07」在pandas中實現自然順序排序Python排序
- 實驗二:順序表的基本操作實現及其應用
- 靜態順序表和動態順序表 對比
- 順序棧的實現方式
- 資料結構:線性表的順序實現2.2資料結構
- 第2章 順序表及其順序儲存
- 順序查詢和二分查詢
- 線性表的順序儲存C++程式碼實現C++
- 資料結構c語言實現順序表基本操作資料結構C語言
- PHP實現簡單順序棧PHP
- mysql自定義排序順序語句MySql排序
- JavaScript按照漢字拼音順序排序JavaScript排序
- 【資料結構】堆排序和模擬實現優先順序佇列!!資料結構排序佇列
- 【Algorithm】二分排序小技巧Go排序
- 資料結構_順序表_順序表的初始化、插入、刪除、修改、查詢列印(基於C語言實現)資料結構C語言
- 具體實現程式碼@資料結構探險——順序表資料結構
- 順序表的學習
- RMAN database plus archivelog實現順序DatabaseHive
- 使用C#實現順序佇列C#佇列
- js實現的讓文字以拼音首字母順序進行排序程式碼JS排序
- 任務卡片優先順序排序-Leangoo排序Go
- 基礎資料結構(一)---(最全)定長順序表的實現資料結構
- 順序表有序插入資料