亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來(lái)到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? cod_bwt3.bas

?? 20多種VB軟件的加密與壓縮模塊
?? BAS
字號(hào):
Attribute VB_Name = "Cod_BWT3"


Option Explicit


Public Sub BWT_CodecArray3(ByteArray() As Byte, Optional BucketMaxDeep As Integer = 7)
    Dim Data() As Byte          'dubble sized bytearray
    Dim IndexPoint() As Long    'indexpointer
    Dim IndTemp() As Long       'temporary indexpointer
    Dim StartIndex As Long      'first position of the index
    Dim EndIndex As Long        'last position of the index
    Dim StartPoint() As Long    'buffer to store first positions
    Dim EndPoint() As Long      'buffer to store last positions
    Dim MiddlePoint() As Long   'buffer to store the middle positions
    Dim StepSize() As Integer   'buffer to store the distance positions
    Dim StepNr As Integer       'current distance
    Dim CharCount() As Long  'count of used characters
    Dim Spos(255) As Long       'starting positions of new index pointer
    Dim DeepHold As Integer     'counter of array dept
'    Dim NumChar As Integer      'numbers of chars used
    Dim FileLength As Long      'length of the file
    Dim DimDept As Long         'Calculation of supposed maximum array dept
    Dim Prefix As Long          'prefix number of the BWT sorting
    Dim NuPos As Long           'Position counter for the next character
    Dim NewStep As Long         'Smallest new distance value to add
    Dim CStep As Long           'Calculated new distance value
    Dim NowSize As Long         'Size of block to sort
    Dim X As Long
    Dim Y As Long
    Dim Z As Long
    Dim L As Long
    Dim R As Long
    Dim t As Long
    Dim D As Boolean
    Dim Q As Byte
    FileLength = UBound(ByteArray)
    DimDept = 255 * BucketMaxDeep + 200
'predefine expected dimensions
    ReDim IndexPoint(FileLength)
    ReDim Data(FileLength + FileLength + 1)
    ReDim StartPoint(DimDept)
    ReDim EndPoint(DimDept)
    ReDim MiddlePoint(DimDept)
    ReDim StepSize(DimDept)
    For X = 0 To FileLength
        Data(X) = ByteArray(X)
        IndexPoint(X) = X
    Next
    For X = 0 To FileLength
        Data(FileLength + 1 + X) = ByteArray(X)
    Next
    DeepHold = 0
    StartPoint(DeepHold) = LBound(ByteArray)
    EndPoint(DeepHold) = UBound(ByteArray)
    StepSize(DeepHold) = 0
    StartIndex = StartPoint(DeepHold)
    EndIndex = EndPoint(DeepHold)
    NowSize = EndIndex - StartIndex
    If NowSize = 0 Then Exit Sub
TopLoop1:
    StepNr = StepSize(DeepHold)
    If StepNr = BucketMaxDeep Or NowSize < 80 Then GoTo QuickSort
'do the bucket sort
'clear the counting array
    ReDim IndTemp(StartIndex To EndIndex)
    ReDim CharCount(255)
'place the indexpointer in a temporary pointer and calculate the count
'of the characters
    For X = StartIndex To EndIndex
        IndTemp(X) = IndexPoint(X)
        Y = IndexPoint(X) + StepNr
        Q = Data(Y)
        CharCount(Q) = CharCount(Q) + 1
    Next
    If CharCount(Q) = EndIndex - StartIndex + 1 Then
'Only one character found so only increase the distance
        StepSize(DeepHold) = StepNr + 1
        GoTo TopLoop1
    Else
'Store the newfound starting positions in the buffers
        NuPos = StartIndex
        DeepHold = DeepHold - 1
        For X = 0 To 255
            If CharCount(X) > 0 Then
                DeepHold = DeepHold + 1
                StartPoint(DeepHold) = NuPos
                Spos(X) = NuPos
                NuPos = NuPos + CharCount(X)
                EndPoint(DeepHold) = NuPos - 1
                StepSize(DeepHold) = StepNr + 1
            End If
        Next
'And put al the pointers in the right place
        For X = StartIndex To EndIndex
            Y = IndTemp(X) + StepNr
            Q = Data(Y)
            IndexPoint(Spos(Q)) = IndTemp(X)
            Spos(Q) = Spos(Q) + 1
        Next
        Do While DeepHold > 0
            StartIndex = StartPoint(DeepHold)
            EndIndex = EndPoint(DeepHold)
            NowSize = EndIndex - StartIndex
            If NowSize > 0 Then GoSub TopLoop1
            DeepHold = DeepHold - 1
        Loop
        GoTo Ready
    End If
QuickSort:
    StartIndex = StartPoint(DeepHold)
    EndIndex = EndPoint(DeepHold)
    StepNr = StepSize(DeepHold)
    If StartIndex >= EndIndex Then Return
    If EndIndex - StartIndex = 1 Then
        Y = IndexPoint(StartIndex) + StepNr
        Z = IndexPoint(EndIndex) + StepNr
        Do While Data(Y) = Data(Z)
            Y = Y + 1
            Z = Z + 1
        Loop
        If Data(Y) < Data(Z) Then Return
        t = IndexPoint(StartIndex): IndexPoint(StartIndex) = IndexPoint(EndIndex): IndexPoint(EndIndex) = t: Return
    End If
    NewStep = 100000
    L = StartIndex
    R = EndIndex - 1
    X = Fix((StartIndex + EndIndex) / 2)
'swap the pivot to the last position
    Y = IndexPoint(StartIndex) + StepNr
    Z = IndexPoint(X) + StepNr
    Do While Data(Y) = Data(Z)
        Y = Y + 1
        Z = Z + 1
    Loop
    If Data(Y) > Data(Z) Then
        t = IndexPoint(StartIndex): IndexPoint(StartIndex) = IndexPoint(EndIndex): IndexPoint(EndIndex) = t
    Else
        t = IndexPoint(X): IndexPoint(X) = IndexPoint(EndIndex): IndexPoint(EndIndex) = t
    End If
    Do
'Find one wich is smaller than the pivot
        Do
            CStep = 0
            Y = IndexPoint(R) + StepNr
            Z = IndexPoint(EndIndex) + StepNr
            Do While Data(Y) = Data(Z)
                Y = Y + 1
                Z = Z + 1
                CStep = CStep + 1
            Loop
            If CStep < NewStep Then NewStep = CStep
            If Data(Y) < Data(Z) Then Exit Do
            R = R - 1
        Loop While R > L
        If R = L Then Exit Do
'Find one wich is bigger than the pivot
        Do
            CStep = 0
            Y = IndexPoint(L) + StepNr
            Z = IndexPoint(EndIndex) + StepNr
            Do While Data(Y) = Data(Z)
                Y = Y + 1
                Z = Z + 1
                CStep = CStep + 1
            Loop
            If CStep < NewStep Then NewStep = CStep
            If Data(Y) > Data(Z) Then Exit Do
            L = L + 1
        Loop While L < R
        If L = R Then Exit Do
        t = IndexPoint(L): IndexPoint(L) = IndexPoint(R): IndexPoint(R) = t
    Loop
    StepNr = StepNr + NewStep
    DeepHold = DeepHold + 1
    StartPoint(DeepHold) = StartIndex
    EndPoint(DeepHold) = L '- 1
    MiddlePoint(DeepHold) = EndIndex
    StepSize(DeepHold) = StepNr
    GoSub QuickSort
    StartPoint(DeepHold) = EndPoint(DeepHold) + 1
    EndPoint(DeepHold) = MiddlePoint(DeepHold)
    GoSub QuickSort
    DeepHold = DeepHold - 1
    If DeepHold > 0 Then Return
Ready:
    ReDim ByteArray(FileLength + 3)
    For X = 0 To FileLength
        If IndexPoint(X) = 1 Then Prefix = X
        If IndexPoint(X) = 0 Then
            ByteArray(X) = Data(FileLength)
        Else
            ByteArray(X) = Data(IndexPoint(X) - 1)
        End If
    Next
    ByteArray(FileLength + 1) = Int(Prefix / &H10000) And &HFF
    ByteArray(FileLength + 2) = Int(Prefix / &H100) And &HFF
    ByteArray(FileLength + 3) = Prefix And &HFF
End Sub

'Here where gone restore the BWT-coded string
Public Sub BWT_DeCodecArray3(ByteArray() As Byte)
    Dim TV() As Long
    Dim Spos(255) As Long
    Dim FileLength As Long
    Dim OffSet As Long
    Dim X As Long
    Dim Y As Long
    Dim NuPos As Long
    Dim CharCount(255) As Long
    Dim OutStream() As Byte
    FileLength = UBound(ByteArray)
'read the offset and restore the original size
    OffSet = CLng(ByteArray(FileLength - 2)) * 256 + ByteArray(FileLength - 1)
    OffSet = CLng(OffSet) * 256 + ByteArray(FileLength)
    ReDim Preserve ByteArray(FileLength - 3)
    FileLength = UBound(ByteArray)
    ReDim OutStream(FileLength)
    ReDim TV(FileLength)
'Lets use the speedsort method to sort the array
'(no need to do it lexicographical)
    For X = 0 To FileLength
        CharCount(ByteArray(X)) = CharCount(ByteArray(X)) + 1
    Next
    NuPos = 0
' Place the items in the sorted array.
    For X = 0 To 255
        Spos(X) = NuPos
        NuPos = NuPos + CharCount(X)
    Next
'Now whe have the original and the sorted array so whe can construct
'a transformation tabel
    For X = 0 To FileLength
        Y = Spos(ByteArray(X))
        TV(Y) = X
        Spos(ByteArray(X)) = Y + 1
    Next
'with use of the transformation tabel and the offset whe can reconstruct
'the original data
    For X = 0 To FileLength
        OutStream(X) = ByteArray(OffSet)
        OffSet = TV(OffSet)
    Next
    Call CopyMem(ByteArray(0), OutStream(0), UBound(OutStream) + 1)
End Sub

?? 快捷鍵說(shuō)明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲在线视频网站| 中文字幕国产一区| 福利视频网站一区二区三区| 亚洲综合久久久久| 国产亚洲一二三区| 欧美疯狂性受xxxxx喷水图片| 北条麻妃国产九九精品视频| 免费成人你懂的| 亚洲综合成人在线视频| 久久九九99视频| 亚洲视频一区在线| 欧美午夜精品电影| 国产 日韩 欧美大片| 首页国产欧美日韩丝袜| 亚洲色图视频网| 国产日产欧美一区| 久久网这里都是精品| 欧美一卡2卡3卡4卡| 在线一区二区三区四区五区| 成人蜜臀av电影| 国产一区二区三区精品欧美日韩一区二区三区 | 91国偷自产一区二区开放时间| 国产一区二区不卡老阿姨| 日韩福利电影在线| 亚洲国产aⅴ成人精品无吗| 26uuu另类欧美亚洲曰本| 成人sese在线| 韩国女主播成人在线| 日韩va欧美va亚洲va久久| 一区二区三区日韩| 亚洲欧美综合色| 国产精品久久久久久久久久免费看 | 亚洲欧美激情插| 中文字幕一区二区在线播放 | 国产精品国产三级国产aⅴ中文 | 国产一区二区看久久| 蜜桃视频在线一区| 毛片不卡一区二区| 欧美视频在线播放| 884aa四虎影成人精品一区| 99视频在线精品| 处破女av一区二区| 成人一区二区三区| aaa国产一区| 99久免费精品视频在线观看| 99视频一区二区| 99国产精品久久久| 在线精品观看国产| 欧美日韩久久久一区| 欧美精品日韩一本| 日韩欧美视频在线| 日韩欧美在线1卡| 欧美一区二区三区免费观看视频 | 国产精品一二一区| 国产成人综合精品三级| 国产精品羞羞答答xxdd| 成人午夜精品在线| 91麻豆视频网站| 欧美亚洲国产一区二区三区| 欧美美女一区二区三区| 精品日韩一区二区三区免费视频| 久久久综合激的五月天| 亚洲人亚洲人成电影网站色| 一区av在线播放| 青娱乐精品视频| 国产精品123| 色婷婷综合久久久| 欧美视频在线观看一区二区| 精品美女被调教视频大全网站| 久久嫩草精品久久久久| 国产精品人人做人人爽人人添| 亚洲图片你懂的| 人人精品人人爱| 国产不卡一区视频| 欧美性受xxxx| 欧美一区二区三区在线观看 | 视频一区欧美精品| 国产精品一二二区| 色88888久久久久久影院野外| 日韩欧美中文字幕制服| 日本一区二区动态图| 丝袜美腿亚洲色图| 东方aⅴ免费观看久久av| 欧美日韩精品专区| 国产三区在线成人av| 亚洲国产裸拍裸体视频在线观看乱了 | 欧美三级三级三级| 久久综合色8888| 亚洲黄色在线视频| 国产乱子伦视频一区二区三区 | 亚洲黄色在线视频| 国产福利一区二区| 欧美日本国产视频| 中文字幕一区二区三区精华液| 日韩成人午夜电影| 91年精品国产| 久久久久久久免费视频了| 香蕉成人伊视频在线观看| 国产美女娇喘av呻吟久久| 欧美区视频在线观看| 亚洲图片欧美激情| 国产a久久麻豆| 日韩欧美在线网站| 亚洲一区中文日韩| 99视频在线观看一区三区| 26uuu久久综合| 日本中文字幕一区二区有限公司| 色综合天天综合色综合av | 国内精品伊人久久久久av影院| 色爱区综合激月婷婷| 国产精品视频在线看| 久久99精品久久久久久国产越南 | 日日摸夜夜添夜夜添亚洲女人| 99精品视频一区| 久久品道一品道久久精品| 秋霞电影一区二区| 精品视频免费看| 一区二区三区.www| 91在线免费看| 国产精品国产三级国产普通话三级| 国产毛片一区二区| 欧美精品一区二区久久婷婷| 久久精品国产一区二区三区免费看| 欧美日韩免费观看一区二区三区| 亚洲啪啪综合av一区二区三区| 成人免费精品视频| 国产女同性恋一区二区| 国产传媒一区在线| 久久久99免费| 国产福利精品一区| 国产网红主播福利一区二区| 国产一区二区在线视频| 精品国产一区二区三区久久影院 | 亚洲麻豆国产自偷在线| 99久久国产综合精品麻豆| 国产精品情趣视频| 成人激情免费电影网址| 国产清纯在线一区二区www| 精品一区二区三区影院在线午夜 | 欧美三级中文字| 亚洲成人激情av| 欧美精品第1页| 美女一区二区三区| 久久一留热品黄| 国产不卡视频一区二区三区| 国产精品国产三级国产普通话99| 91丨九色porny丨蝌蚪| 一区二区久久久久久| 在线影视一区二区三区| 午夜久久久久久久久| 91精品国产日韩91久久久久久| 欧美96一区二区免费视频| 亚洲精品在线观看网站| 成人精品国产一区二区4080| 亚洲视频一二三区| 欧美精品欧美精品系列| 激情综合网激情| 国产精品私人影院| 日本乱人伦aⅴ精品| 视频一区国产视频| 久久精品人人做人人爽97| 成人av网站大全| 午夜激情综合网| 久久久九九九九| 一本大道av一区二区在线播放 | 日本va欧美va精品| 久久久久久久国产精品影院| 色综合中文字幕| 日本在线观看不卡视频| 亚洲国产激情av| 欧美色综合久久| 国内精品免费在线观看| 中文字幕亚洲欧美在线不卡| 欧美日韩国产一级片| 国产成人自拍网| 亚洲国产精品一区二区久久恐怖片 | 色播五月激情综合网| 九九九精品视频| 一区二区三区在线视频免费| 欧美videos中文字幕| 99国产欧美另类久久久精品| 日韩激情视频网站| 亚洲欧洲国产日韩| 欧美一区二区高清| 97精品久久久久中文字幕| 久久精工是国产品牌吗| 亚洲卡通动漫在线| 久久综合色一综合色88| 色视频欧美一区二区三区| 国产精品自在在线| 亚洲大片精品永久免费| 国产农村妇女毛片精品久久麻豆| 欧美视频自拍偷拍| 成人av在线播放网址| 久久精品国产99久久6| 亚洲在线视频一区| 国产精品久久久久久久久快鸭 | 欧美精品tushy高清| 成人免费视频播放| 久久国产精品无码网站|