欧美性猛交XXXX免费看蜜桃,成人网18免费韩国,亚洲国产成人精品区综合,欧美日韩一区二区三区高清不卡,亚洲综合一区二区精品久久

打開(kāi)APP
userphoto
未登錄

開(kāi)通VIP,暢享免費電子書(shū)等14項超值服

開(kāi)通VIP
程序員面試攻略 6.2 面試例題:字符串的全排列

/************************************************************************
6.2 面試例題 字符串的全排列
************************************************************************/
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
/************************************************************************
程序一:
************************************************************************/
void doPermute(char input[], char output[], int used[], int length, int recursLev) {
 int i;

 if (recursLev == length) {
  printf("%s\n", output);
  return;
 }

 for (i = 0; i < length; i++) {
  if (used[i])
   continue;
  output[recursLev] = input[i];
  used[i] = 1;
  doPermute(input, output, used, length, recursLev + 1);
  used[i] = 0;
 }
}

int permute(char instr[]) {
 int length, i, *used;
 char *out;

 length = strlen(instr);
 out = (char*)malloc(length + 1);

 if (out == NULL)
  return 0;
 out[length] = ‘\0‘;

 used = (int*)malloc(sizeof(int)*length);

 if (used == NULL)
  return 0;
 
 for (i = 0; i < length; i++) {
  used[i] = 0;
 }

 doPermute(instr, out, used, length, 0);

 free(out);
 free(used);

 return 1;
}


/************************************************************************
程序二:
************************************************************************/

void swap(char str[], int i, int j) {
 char temp = str[i];
 str[i] = str[j];
 str[j] = temp;
}

 

void doPerm(char str[], int length, int recursLev) {
 int i;
 if (recursLev == length) {
  printf("%s\n", str);
 } else {
  for (i = recursLev; i < length; i++) {
   swap(str, i, recursLev);
   doPerm(str, length, recursLev + 1);
   swap(str, i, recursLev);
  }
  
 }
}

void perm(char str[]) {
 int length;
 length = strlen(str);
 doPerm(str, length, 0);
}

int main() {
 char str[] = "abc";
 permute(str);
 printf("%s\n", "--------------------");
 perm(str);
 return 0;
}

本站僅提供存儲服務(wù),所有內容均由用戶(hù)發(fā)布,如發(fā)現有害或侵權內容,請點(diǎn)擊舉報。
打開(kāi)APP,閱讀全文并永久保存 查看更多類(lèi)似文章
猜你喜歡
類(lèi)似文章
面試題
C#字符串截取,字符串分割
C語(yǔ)言字符串壓縮算法代碼演示
字符子串 任意組合 遞歸
華為機試HJ36:字符串加密
?LeetCode刷題實(shí)戰186:翻轉字符串里的單詞 II
更多類(lèi)似文章 >>
生活服務(wù)
分享 收藏 導長(cháng)圖 關(guān)注 下載文章
綁定賬號成功
后續可登錄賬號暢享VIP特權!
如果VIP功能使用有故障,
可點(diǎn)擊這里聯(lián)系客服!

聯(lián)系客服

欧美性猛交XXXX免费看蜜桃,成人网18免费韩国,亚洲国产成人精品区综合,欧美日韩一区二区三区高清不卡,亚洲综合一区二区精品久久