Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • Users
  • Groups
  • Search
  • Get Qt Extensions
  • Unsolved
Collapse
Brand Logo
  1. Home
  2. General talk
  3. Brainstorm
  4. Find index of QVector by comparing an item
Forum Updated to NodeBB v4.3 + New Features

Find index of QVector by comparing an item

Scheduled Pinned Locked Moved Brainstorm
12 Posts 5 Posters 14.4k Views 1 Watching
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • S Offline
    S Offline
    Smar
    wrote on last edited by
    #2

    http://doc.qt.nokia.com/latest/qvector.html#indexOf

    1 Reply Last reply
    0
    • Y Offline
      Y Offline
      Yash
      wrote on last edited by
      #3

      This is not my problem. I know that how to find index of an item .

      My Question is to find index of item which is in range not exactly there.

      Like 46 is nowhere still it returns 2 and not -1 like above func.

      Hope it clears me more.

      http://kineticwing.com : Web IDE, QSS Editor
      http://speedovation.com : Development Lab

      1 Reply Last reply
      0
      • Y Offline
        Y Offline
        Yash
        wrote on last edited by
        #4

        Consider any type of container like QVector or QList any item which can solve my problem.

        http://kineticwing.com : Web IDE, QSS Editor
        http://speedovation.com : Development Lab

        1 Reply Last reply
        0
        • I Offline
          I Offline
          ivan
          wrote on last edited by
          #5

          Since this is applicable only to sorted vectors, it would be strange if there existed a method like that in a QVector.

          You can easily implement it via a binary search.

          Ivan Čukić | ivan.cukic(at)kde.org | KDE e.V.
          Qt Ambassador (from the old Nokia days)

          1 Reply Last reply
          0
          • Y Offline
            Y Offline
            Yash
            wrote on last edited by
            #6

            yea that's what I was thinking i.e binary search but I was looking for any easy solution(s).

            BS is in qt.

            Link is "Binary search in QT":http://doc.trolltech.com/qq/qq15-qalgorithms.html

            http://kineticwing.com : Web IDE, QSS Editor
            http://speedovation.com : Development Lab

            1 Reply Last reply
            0
            • I Offline
              I Offline
              ivan
              wrote on last edited by
              #7

              Well, I don't think you'll be able to use the built-in BS. (you are not looking for an exact match).

              Alternatively, you can go wild :) and implement a Range class and overload some operators... but I think it would be too much hassle for something like this.

              Ivan Čukić | ivan.cukic(at)kde.org | KDE e.V.
              Qt Ambassador (from the old Nokia days)

              1 Reply Last reply
              0
              • Y Offline
                Y Offline
                Yash
                wrote on last edited by
                #8

                Agreed

                I'm doing with core c++.

                Will post solution here for other guys.

                http://kineticwing.com : Web IDE, QSS Editor
                http://speedovation.com : Development Lab

                1 Reply Last reply
                0
                • T Offline
                  T Offline
                  tzander
                  wrote on last edited by
                  #9

                  Such a list has been implemented by a troll before and is available here

                  http://qt.gitorious.org/qt-labs/itemviews-ng/blobs/master/src/qsectionspans_p.h

                  1 Reply Last reply
                  0
                  • J Offline
                    J Offline
                    janarve
                    wrote on last edited by
                    #10

                    I think what you are looking for is qLowerBound (or qUpperBound). It does a binary search, and returns the position where the item should be inserted, regardless of if the item is found or not.

                    1 Reply Last reply
                    0
                    • T Offline
                      T Offline
                      tzander
                      wrote on last edited by
                      #11

                      Just want to add that QMap has upperBound and lowerBound as methods directly; which is a bit nicer to me than using a global method ;)

                      1 Reply Last reply
                      0
                      • Y Offline
                        Y Offline
                        Yash
                        wrote on last edited by
                        #12

                        QMap is perfect solution in this case.

                        I'm little late .... :)

                        Thanks guy!

                        http://kineticwing.com : Web IDE, QSS Editor
                        http://speedovation.com : Development Lab

                        1 Reply Last reply
                        0

                        • Login

                        • Login or register to search.
                        • First post
                          Last post
                        0
                        • Categories
                        • Recent
                        • Tags
                        • Popular
                        • Users
                        • Groups
                        • Search
                        • Get Qt Extensions
                        • Unsolved