• 连连看消重算法


    #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" );
    }

  • 相关阅读:
    Mysql数据操作指令
    Mysql列属性
    Mysql表的对应关系
    Mysql中的一些类型
    Mysql笔记
    (三) rest_framework 权限与限流源码梳理
    (二) rest_framework 认证源码流程与配置
    (一) rest_framework 视图入口
    django_celery_beat
    GRPC
  • 原文地址:https://www.cnblogs.com/diylab/p/1681219.html
Copyright © 2020-2023  润新知