精品丰满熟女一区二区三区_五月天亚洲欧美综合网_亚洲青青青在线观看_国产一区二区精选

  • <menu id="29e66"></menu>

    <bdo id="29e66"><mark id="29e66"><legend id="29e66"></legend></mark></bdo>

  • <pre id="29e66"><tt id="29e66"><rt id="29e66"></rt></tt></pre>

      <label id="29e66"></label><address id="29e66"><mark id="29e66"><strike id="29e66"></strike></mark></address>
      學(xué)習(xí)啦>創(chuàng)業(yè)指南>職場>筆試題>

      C++開發(fā)工程師筆試題

      時間: 護托1061 分享

        C/C++軟件工程師的月薪范圍一般在3500-20000元之間。一般而言,剛剛畢業(yè)的大學(xué)生以及擁有1-3年的工作經(jīng)驗者的月薪通常在3500-4500元左右,下面就由學(xué)習(xí)啦小編為大家介紹一下C++開發(fā)工程師筆試題的文章,歡迎閱讀。

        C++開發(fā)工程師筆試題篇1

        1、改錯

        如下程序能不能正確輸出,如果不能,讓他正確輸出hello字符串。

        void New(char * p) { p = new char[5]; } void main() { char* p = NULL; New(p); strcpy(p, "hello"); printf("%s", p); }

        2、排列算法

        一個數(shù)組{3,4,5,6,3},請輸出這個數(shù)組的全排列,比如34563、43563、33456...。

        #include

        #include

        template

        void Print(T* tArray, int iSize)

        {

        for(int i = 0; i < iSize; ++i)

        {

        std::cout << tArray[i] << ' ';

        }

        std::cout << std::endl;

        }

        template

        void Permutation(T* tArray, int iSize)

        {

        int* iIndex = new int[iSize + 1];

        for(int i = 0; i < iSize; ++i)

        {

        iIndex [i] = iSize - i;

        }

        Print(tArray, iSize);

        for(int i = iSize - 1; i > 0; )

        {

        -- iIndex [i];

        --i;

        int j = iSize - 1;

        do

        {

        if(tArray[j--] != tArray[i++])

        {

        std::swap(tArray[j--], tArray[i++]);

        }

        }while(j > i);

        Print(tArray, iSize);

        i = iSize - 1;

        for(;iIndex [i] == 0; --i)

        {

        iIndex [i] = iSize - i;

        }

        }

        delete []iIndex;

        }

        int main()

        {

        int a[] = {3,4,5,6,3};

        Permutation(a,5);

        }

        C++開發(fā)工程師筆試題篇2

        1、數(shù)據(jù)結(jié)構(gòu)

        在二叉樹中找出和為某一輸入值的所有路徑。

        #include

        void getPath(struct treeNode* node, int sum, vector& stack, int currentSum) { //stack用來存放路徑,sum為輸入值

        } if (node == NULL) return; currentSum += node->id; stack.push_back(node->id); if (node->lchild != NULL) getPath(node->lchild, sum, stack, currentSum); if (node->rchild != NULL) getPath(node->rchild, sum, stack, currentSum); if (node->lchild == NULL && node->rchild == NULL) { if (currentSum == sum) { vector::iterator it = stack.begin(); for (; it != stack.end(); ++it) printf("%d ", *it); printf("/n"); } } stack.pop_back();

        2、編寫程序:如何獲得一個整數(shù)的二進制表達中有多少個1?

        C++開發(fā)工程師筆試題篇3

        1、編寫程序:在O(n)時間復(fù)雜度內(nèi)從數(shù)組array[0..n-1]中找出第k個最小的元素。 說明:算法可以對array中的元素進行排序。

        2、綜合考察:

        銀行有個存有n個用戶編號的文件,每個數(shù)都小于n,其中n=10的7次方。每個編號都不重復(fù)。

         輸出:n個數(shù)升序排列。

         約束條件:內(nèi)存最多有2兆的空間,運行時間復(fù)雜度為O(n)。

      3168514