トップページ > プログラム > 2015年09月12日 > QD0G+9W6

書き込み順位&時間帯一覧

24 位/167 ID中時間01234567891011121314151617181920212223Total
書き込み数0000000011000000000000002



使用した名前一覧書き込んだスレッド一覧
NAS6 ◆n3AmnVhjwc
なあ、再帰関数好きな人いる? パート2 [転載禁止]©2ch.net

書き込みレス一覧

なあ、再帰関数好きな人いる? パート2 [転載禁止]©2ch.net
301 :NAS6 ◆n3AmnVhjwc []:2015/09/12(土) 08:57:33.49 ID:QD0G+9W6
>>300
は、再帰的処理か?ループ的処理か?
なあ、再帰関数好きな人いる? パート2 [転載禁止]©2ch.net
302 :NAS6 ◆n3AmnVhjwc []:2015/09/12(土) 09:11:43.86 ID:QD0G+9W6
訂正 : これは再帰的だろ
class tree{
public:
 tree* parent;//rootのparentはnullptr
 tree* chlid[];//説明の便宜上
 int childsize;
 int crnt;//子ノード指示変数
...
 //終了検知
 bool end(tree* root, bool& b){
  return ((b || !childsize) && this == root && (crnt < 0 || childsize <= crnt))
 }
 //crntの順番のノードを返す
 tree* crntchild(bool& b){
  if(crnt < 0 || childsize <= crnt) { b = true; return parent; }
  return child[crnt];
 }
};
//ノード処理
tree* nodefunc(tree* root, tree* v)
{
 crntzero(v);//v以下のcrntを全てゼロ初期化処理:詳細は省略
 bool b = false;
 //最初のノード処理
 while(!v->end(root, b)){
  v->crnt += 1; //次のノード b = false;
  v = v->crntchild(b);
  if(!b){//v:子ノード処理}
  else{//v:親ノード処理}
 }
 return v;
}


※このページは、『2ちゃんねる』の書き込みを基に自動生成したものです。オリジナルはリンク先の2ちゃんねるの書き込みです。
※このサイトでオリジナルの書き込みについては対応できません。
※何か問題のある場合はメールをしてください。対応します。