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

  • 相关阅读:
    springcloud:Eureka的使用
    使用tomcat脚本开启服务
    安装Mysql
    springcloud:RPC和HTTP
    vue elementui点击表格当前行radio单选选中
    启动easy-mock
    项目使用的注解
    vue在element-ui的dialog弹出框中加入百度地图
    【转载】linux查看端口状态相关命令
    【记录】linux 文件权限的查看和修改
  • 原文地址:https://www.cnblogs.com/diylab/p/1681219.html
Copyright © 2011-2022 走看看