亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

C語言字符串的壓縮編碼與解碼

發布時間:2024-08-30 14:03:44 來源:億速云 閱讀:91 作者:小樊 欄目:編程語言

在C語言中,字符串的壓縮編碼和解碼可以通過一些算法實現,例如Huffman編碼、LZ77等。這里我們將介紹一個簡單的壓縮編碼和解碼方法:使用字符計數的方式進行壓縮和解壓縮。

  1. 壓縮編碼:
#include<stdio.h>
#include<string.h>

void compress(char *input, char *output) {
    int count = 1;
    int i, j = 0;
    for (i = 0; i < strlen(input); i++) {
        if (input[i] == input[i + 1]) {
            count++;
        } else {
            output[j++] = input[i];
            output[j++] = count + '0';
            count = 1;
        }
    }
    output[j] = '\0';
}

int main() {
    char input[] = "aaabbbcccddd";
    char output[100];
    compress(input, output);
    printf("Compressed string: %s\n", output);
    return 0;
}
  1. 解碼:
#include<stdio.h>
#include<string.h>

void decompress(char *input, char *output) {
    int i, j = 0;
    for (i = 0; i < strlen(input); i += 2) {
        int count = input[i + 1] - '0';
        while (count--) {
            output[j++] = input[i];
        }
    }
    output[j] = '\0';
}

int main() {
    char input[] = "a3b3c3d3";
    char output[100];
    decompress(input, output);
    printf("Decompressed string: %s\n", output);
    return 0;
}

這個示例中,我們首先定義了一個壓縮函數compress,它接受一個輸入字符串input和一個輸出字符串output。在壓縮函數中,我們遍歷輸入字符串,統計連續相同字符的個數,并將字符和個數存儲到輸出字符串中。最后,我們定義了一個解壓縮函數decompress,它接受一個輸入字符串input和一個輸出字符串output。在解壓縮函數中,我們遍歷輸入字符串,根據字符和個數還原原始字符串,并將其存儲到輸出字符串中。

請注意,這個示例僅適用于簡單的字符串壓縮和解壓縮。對于更復雜的壓縮需求,建議使用成熟的壓縮算法庫,例如zlib等。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

达日县| 叶城县| 赤城县| 康保县| 巴马| 东兴市| 华坪县| 花垣县| 泌阳县| 苍南县| 墨脱县| 嵊泗县| 镇康县| 邢台县| 克山县| 临邑县| 阜城县| 盱眙县| 黄石市| 台前县| 子洲县| 云龙县| 武隆县| 富顺县| 巴东县| 泰州市| 邳州市| 岳普湖县| 阿勒泰市| 吉隆县| 普安县| 泰安市| 交口县| 米脂县| 贵溪市| 广平县| 彭山县| 沁水县| 汕头市| 榆社县| 乐业县|