Как научиться быстро понимать похожий код?
... просто может быть знаний маловато?Если быть точнее - маловато практики. Для данного примера много знаний как бы и не нужно, хватит базового владения синтаксисом.
Чаще программируйте и такой код будете легко воспринимать.
не только у вас так. для нормальных программистов существует правило
программа без комментариев и документации - это безделушка никому не нужная.
в данном примере программист позаботился не организовать лишнюю переменную и меняет местами переменные путем перетасовок данных внутри них. это конечно его выбор, но оттого программа и становится непонятной.
в этом коде нет комментариев, а и алгоритм на мой взгляд не лучший и не самый понятный.
если хотите этот код можно было бы реализовать так:#include <iostream>
using namespace std;

int main()
{
    int A,B,C;
    cout << "Программа сортировка по возрастанию\n";
    cout << "Введите три целых числа через пробел:\n";
    cin >> A >> B >> C;
    //opredelyaem poryadok sortirovki
    if (A > B) {
        if (B > C) {
          // A > B > C
          //poryadok ostaetsa pryamym
          //nichego ne delat
        } else {
            if (A > C) {
                // A > C > B
                //menyaem B i C
                B += C;
                C = B - C;
                B -= C;
            } else {
                // C > A > B
                //menyaem A i C, potom B i C
                A += C;
                C = A - C;
                A -= C;

                B += C;
                C = B - C;
                B -= C;
            }
        }
    } else {
        //esli A < B
        if (A > C) {
            // B > A > C
            //menyaem tolko A i B
            B += A;
            A = B - A;
            B -= A;
        } else {
            if (B > C) {
                // B > C > A
                //menyaem C i A, i potom A i B
                C += A;
                A = C - A;
                C -= A;

                B += A;
                A = B - A;
                B -= A;
            } else {
                // C > B > A
                // menyaem A i C
                C += A;
                A = C - A;
                C -= A;
            }
        }
    }
    cout << "По возрастанию: \n";
    cout << C << " " << B << " " << A;
    return 0;
}
признаю, код в вопросе лучше чем в этом ответе. но тут хотя бы комментарии