C语言字符串原地压缩实现方法

 更新时间:2014年09月17日 11:15:07   投稿:shichen2014  
这篇文章主要介绍了C语言字符串原地压缩实现方法,包含了字符串的遍历与转换等操作,是很实用的操作技巧,需要的朋友可以参考下

本文实例讲述了C语言字符串原地压缩的实现方法,对于学习字符串操作的算法设计有不错的借鉴价值。分享给大家供大家参考。具体方法如下:

字符串原地压缩示例: "eeeeeaaaff"压缩为"e5a3f2"

具体功能代码如下:

/*  
* Copyright (c) 2011 alexingcool. All Rights Reserved.  
*/
#include <iostream>
#include <iterator>
#include <algorithm>

using namespace std;

char array[] = "eeeeeaaaff";
char array2[] = "geeeeeaaaffg";
const int size = sizeof array / sizeof *array;
const int size2 = sizeof array2 / sizeof *array2;

void compression(char *array, int size)
{
 int i = 0, j = 0;
 int count = 0;

 while(j < size) {
 count = 0;
 array[i] = array[j];

 while(array[j] == array[i]) {
  count++;
  j++;
 }
 if(count == 1) {
  i++;
 }
 else {
  array[++i] = '0' + count;
  ++i;
 }
 }
 array[i] = 0; 
}

void main()
{
 compression(array, size);
 cout << array << endl;
 compression(array2, size2);
 cout << array2 << endl;
}

相信本文所述对大家C程序算法设计的学习有一定的借鉴价值。

相关文章

  • c++11多线程编程之std::async的介绍与实例

    c++11多线程编程之std::async的介绍与实例

    这篇文章主要给大家介绍了关于c++11多线程编程之std::async的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-11-11
  • 使用OpenCV检测图像中的矩形

    使用OpenCV检测图像中的矩形

    这篇文章主要为大家详细介绍了使用OpenCV检测图像中的矩形,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2020-07-07
  • OpenCV实现直线检测并消除

    OpenCV实现直线检测并消除

    这篇文章主要为大家详细介绍了OpenCV实现直线检测并消除,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2021-06-06
  • C++ LeeCode题目:比特位计数和买卖股票的最佳时机

    C++ LeeCode题目:比特位计数和买卖股票的最佳时机

    这篇文章主要介绍了基于C语言计算比特位计数和买卖股票的最佳时机,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2021-07-07
  • C++基本组件之内存池详解

    C++基本组件之内存池详解

    这篇文章主要为大家详细介绍了C++中的基本组件——内存池的相关知识,文中的示例代码讲解详细,对我们学习C++有一定的帮助,需要的可以参考一下
    2023-03-03
  • Qt绘制时钟效果

    Qt绘制时钟效果

    这篇文章主要为大家详细介绍了Qt绘制时钟效果,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2020-05-05
  • Qt 实现钢笔画线效果示例及详细原理

    Qt 实现钢笔画线效果示例及详细原理

    这篇文章主要介绍了Qt 实现钢笔画线效果示例及详细原理,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-04-04
  • C语言数据结构与算法之时间空间复杂度入门

    C语言数据结构与算法之时间空间复杂度入门

    这篇文章主要为大家介绍了C语言数据结构与算法之时间空间复杂度的入门教程示例,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步
    2022-02-02
  • C语言中main函数与命令行参数详细讲解

    C语言中main函数与命令行参数详细讲解

    这篇文章主要为大家详细介绍了C语言main()函数与命令行参数问题,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下,希望能够给你带来帮助
    2022-04-04
  • C++ vector扩容解析noexcept应用场景

    C++ vector扩容解析noexcept应用场景

    这篇文章主要介绍了C++ vector扩容解析noexcept应用场景,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-09-09

最新评论