順序表實現二分排序
/*
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語言
- 資料結構實驗一:順序表的建立與操作實現、順序表實現約瑟夫環問題資料結構
- 順序表
- 「Python實用祕技07」在pandas中實現自然順序排序Python排序
- 順序表的基本方法實現C語言版C語言
- 順序表應用5:有序順序表歸併
- 順序表應用6:有序順序表查詢
- 實驗二:順序表的基本操作實現及其應用
- 順序棧的實現方式
- 第2章 順序表及其順序儲存
- 資料結構c語言實現順序表基本操作資料結構C語言
- 線性表的順序儲存C++程式碼實現C++
- JavaScript按照漢字拼音順序排序JavaScript排序
- mysql自定義排序順序語句MySql排序
- 【Algorithm】二分排序小技巧Go排序
- 資料結構_順序表_順序表的初始化、插入、刪除、修改、查詢列印(基於C語言實現)資料結構C語言
- 具體實現程式碼@資料結構探險——順序表資料結構
- 順序表的學習
- 任務卡片優先順序排序-Leangoo排序Go
- Python中按字母順序對列表排序Python排序
- 基礎資料結構(一)---(最全)定長順序表的實現資料結構
- 讓 排序 按照 in 列表的的顯示順序排序輸出。排序
- 順序表有序插入資料
- 順序賦值的方式實現流水燈賦值
- MySQL按指定順序排序(order by field的使用)MySql排序
- 欄位按照指定 ID 順序進行排序排序
- thinkphp where in order 按照順序in的迴圈排序PHP排序
- 資料結構 - 線性表 - 順序表資料結構
- 多執行緒實現順序迴圈列印執行緒
- 二分查詢實現符號表符號
- 考研資料結構-線性表-順序表資料結構
- 線性表的順序儲存-順序表,對“突然的自我”的否定,對自我的揚棄
- 【TJOI2016】【bzoj4552】排序(二分答案+線段樹01排序)排序