zoukankan      html  css  js  c++  java
  • 编程算法

    版权声明:本文为博主原创文章。未经博主同意不得转载。

    https://blog.csdn.net/u012515223/article/details/35593485

    字符串的排列 代码(C)


    本文地址: http://blog.csdn.net/caroline_wendy


    题目: 输入一个字符串, 打印出该字符串中字符的全部排列.


    方法: 使用递归依次交换位置, 打印输出.


    代码:

    /*
     * main.cpp
     *
     *  Created on: 2014.6.12
     *      Author: Spike
     */
    
    /*eclipse cdt, gcc 4.8.1*/
    
    #include <stdio.h>
    
    void Permutation(char* str, char* begin);
    
    void Permutation(char* str){
        if(str == NULL)
            return;
        Permutation(str, str);
    }
    
    void Permutation(char* str, char* begin) {
        if(*begin == '') {
            printf("%s
    ", str);
            return;
        }
    
    	for (char* c = begin; *c != ''; ++c) {
    		char temp = *c;
    		*c = *begin;
    		*begin = temp;
    
    		Permutation(str, begin + 1);
    
    		temp = *c;
    		*c = *begin;
    		*begin = temp;
    	}
    
    }
    
    void Test(char* pStr)
    {
        if(pStr == NULL)
            printf("Test for NULL begins:
    ");
        else
            printf("Test for %s begins:
    ", pStr);
    
        Permutation(pStr);
    
        printf("
    ");
    }
    
    int main(void)
    {
        char str[] = "abc";
        Test(str);
    
        return 0;
    }
    



    输出:

    Test for abc begins:
    abc
    acb
    bac
    bca
    cba
    cab
    




查看全文
  • 相关阅读:
    LeetCode
    LeetCode
    一篇真正教会你开发移动端页面的文章(一)
    移动端页面开发资源总结
    Vue 模板
    使用 concurrently 并行地运行多个命令(同时跑前端和后端的服务)
    值得H5前端学习的60个JS插件(含DEMO演示)
    解读浮动闭合最佳方案:clearfix
    JavaScript 如何工作的: 事件循环和异步编程的崛起 + 5 个关于如何使用 async/await 编写更好的技巧
    JavaScript 运行机制详解:再谈Event Loop
  • 原文地址:https://www.cnblogs.com/ldxsuanfa/p/10502289.html
  • Copyright © 2011-2022 走看看