91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

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

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

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

银川市| 城口县| 永嘉县| 阆中市| 舒兰市| 乌拉特中旗| 黔江区| 蒙自县| 耒阳市| 尤溪县| 丰县| 黎城县| 芷江| 临朐县| 调兵山市| 钟山县| 收藏| 杨浦区| 阳西县| 高尔夫| 和龙市| 泸州市| 武定县| 时尚| 凤城市| 颍上县| 五莲县| 会泽县| 米泉市| 杂多县| 吴旗县| 永宁县| 象州县| 河南省| 黔西| 双桥区| 广元市| 同江市| 台北市| 景德镇市| 黔南|