zoukankan      html  css  js  c++  java
  • 连连看消重算法

    #include <iostream>
    using namespace std;
    // 连连看消重算法
    void trytolink( char* str  )
    {
        
    char* pcur = str;
    //    char* pos[20]= { 0 };
        char** pos = (char**) malloc (  sizeofchar* ) * (strlen( str ) + 1) );
        memset( pos,  
    '\0', strlen( str ) + 1);
        
    //char* pnodes = (char*)nodes;
        bool state = 0;
        size_t index 
    = 0;
    //    int j = 0;
        if ( !(*pcur) )
        {
            
    return;
        }
        
    // 只记位置的算法
    //    for( index = 0; index < strlen( str ); )
        while*pcur )
        {
            
    // 内容都退光了
            if( index == 0 )
            {
                pos[
    0= pcur++;
            }
            
    if ( *pos[index] == *pcur )
            {
                state 
    = 1;
                pcur
    ++;
                
    continue;
            }
            
    else
            {
                
    if ( state == 1 )
                {
                    index
    --;
                    state 
    = 0;
                    
    continue;
                }
                
    else
                {
                    index
    ++;
                    pos[index] 
    = pcur++;
                }
            }
        }
        
    for( size_t j = 0 ;j < index;j++ )
        {
            str[j] 
    = *pos[j];
        };
        delete pos;
    }
    void main()
    {
        
    char abc[30= { "you should sleep at noon."};
        trytolink( abc );
        printf( 
    "str:%s", abc );
        system( 
    "pause" );
    }

  • 相关阅读:
    HDU6470 ()矩阵快速幂
    O(1)乘法与快速乘O(log)
    imos 学习笔记五 抓拍 c#
    imos 学习笔记四 录像 c#
    imos 学习笔记三 下载指定时间段视频信息 c#
    imos学习笔记二 用户登录c#
    imos学习笔记一 sdk开发环境
    Hbase(nosql)体系结构有基本操作 笔记八
    zookeeper的安装与配置 笔记七
    mapReduce体系结构和各种算法 笔记六
  • 原文地址:https://www.cnblogs.com/diylab/p/1681219.html
Copyright © 2011-2022 走看看