214k views
5 votes
Given a vector and a starting position, find the index of // the smallest value in the range [start, last], where last is // vector.size()-1. That index is returned.

1 Answer

5 votes

Answer:

The solution code is written in Python

  1. def findSmallest(vec, start):
  2. index = start
  3. smallest = vec[start]
  4. for i in range(start + 1, len(vec)):
  5. if(smallest > vec[i]):
  6. smallest = vec[i]
  7. index = i
  8. return index

Step-by-step explanation:

Firstly we can define a function findSmallest() that takes two input parameters, a vector, vec, and a starting position, start (Line 1).

Next, create two variables, index and smallest, to hold the current index and current value where the smallest number is found in the vector. Let's initialize them with start position and the value held in the start position (Line 3-4).

Next, create a for-loop to traverse through the next value of the vector after start position and compare it with current smallest number. If current smallest is bigger than any next value in the vector, the smallest variable will be updated with the new found lower value in the vector and the index where the lower value is found will be assigned to variable index.

At the end return index as output.

User Prajnavantha
by
5.1k points