2017-02-24 20 views
1

に書く友人は、次の文字列 "HelloWorld"の各単語を区切る擬似コードを書いて、未使用の配列要素を持つ配列[x]空の文字列キャメルキャップの擬似コードを配列

私は実際にPythonでプログラミングしましたが、[AZ] [az]のようないくつかの関数を使って大文字と小文字を検出したので、文字列をいつ分割するかを知っていますが、公式の文書がないので疑似コードで書いてみようか?

+0

これは単なる記録のためのものです。または何かが欠けている場合... – GhostCat

+0

こんにちは、これらのすべての応答は完璧と私は彼に質問がある場合私は、私は応答を投票したが表示されます私はこれを戻ってきた – LangdonBrock

+0

あなたが助けてうれしいあなたが探していたしかし、あなたは答えのどれもアップアップしていませんでした!他の答えのためのこれらの2つのアップ声が私から来ていました。 upvoteすることさえできるようになる前に、最初に15回答に達するために、答えを受け入れる必要があります! – GhostCat

答えて

1

擬似コードの背後にある理論的根拠は、アルゴリズムを記述することです。通常は、言語実装の詳細を残します。しかし、実際にあなたはあなたが書くレベルとあなたが残すレベルを決めなければならないということです。

ここで私は書くでしょう:ここ

declare an array of 10 strings arr initialized to empty strings 
set arr_index to 0 
initialize index to first position in string 
loop 
    find first uppercase letter after index 
    if none find: exit loop 
    if found at new_index 
     copy characters from index (inclusive) to new_index (exclusive) to a new string 
     store that string in arr[arr_index] 
     increment arr_index 
     set index = new_index 
end loop 
arr_index is the number of words found 

を私は実装のための新しい文字列に大文字とサブのコピーの研究を残しているが、説明はすぐにこれを書くのに十分です私見C、C++ PythonまたはJava(私が知っている言語)

1

これは疑似コードです。

お客様を定義してください。

のように:それは単に状態に十分に考えられます

cの場合ネスに基づく真/ falseを返すいくつかの

fun isUpperCase(char c) 

あります。

たとえば、あなたのアルゴリズムでは、その関数を使用します。擬似コードの

考えアルゴリズムの不可欠部品を記述することです。そのような関数が実際にどのように機能するかは重要ではありません。ただ「私たちはそのような機能を持っている」と言います。それを使用して開始します。

言い換えれば、疑似コードで正規表現/分割を表現する方法が心配です。そうではありません - それは既に重要性の低い実装の詳細です。ここ

1

は、いくつかの例の擬似コードである:

create empty array 
set offset = 0 
for each character in "HelloWorldThisIsCamelCase": 
    if character is uppercase: 
    increment offset 
    append character to array element at offset