求从一个整数数组中两个数之和为m的两个数

    技术2022-05-19  20

    方案一:

     int iArrary[10] = {3,4,5,634,567,23,45,6,7,10};

    //先排序,就暂时选个简单的来排序吧

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

    {

        int j;

        int swap;

        int MinIndex = i;

        for(j = i+1; j < 10; j++)

          {

     

              if(iArray[MinIndex] > iArray[j])

                MinIndex = j;

              else

                continue;

          }

         swap = iArray[MinIndex];

         iArray[MinIndex] = iArray[i];

         iArray[i] = swap;

    }

     

    //求渐进大小的数

    int iHead = 0, iTail = 9;

    while( iHead != iTail)

    {

         if(iArray[iHead] + iArray[iTail] > sum)

           iTail--;

         else if(iArray[iHead] + iArray[iTail] < sum)

           iHead++;

         else if(iArray[iHead] + iArray[iTail] == sum)

          {

              printf("%d:%d, %d,%d/n", iHead,iArray[iHead], iTail, iArray[iTail]);

          }

         else

         {

             printf("cannot find the sum/n");

         }

    }


    最新回复(0)