Overview of all algorithms for the final layer,
to orient and permute corners, without flipping edges

Click here for an explanation of the notation.
FF
BB
RU2R'U'RU'R2U2RUR'UR
B'R'U'RU'BL'BLB2U2B
FF
LR
FR2FL2F'R2FL2F2
FU'L'UR2U'LUR2F'
F'L2F'R2FL2F'R2F2
FB
FB
R'UR2DL'B2LD'R2U'R
RU'BRU2R'U2B'URU'R2
FL
FR
BLF'L'B'LFL'
R'F'RB'R'FRB
RF
LF
B'R'FRBR'F'R
LFL'BLF'L'B'
RL
FF
LU'L'U2LRU'L'UR'
LU'RUL'R'U2RUR'
R'URU2L'R'URU'L
FF
BB
DRD'R2UR'F2L'ULF2U'R2
R2B'RFD'R'DBRF'R2UR'
R2UF2L'U'LF2RU'R2DR'D'
FF
LR
R'UFU'F'U'RFU2F'
R'U2RFU'R'U'RUF'
LU'F'UFUL'F'U2F
FB
BF
R2F2R'B2RF2R'B2R'
R'U2RF'R'FU2F'RF
FR
LF
R2D'RU2R'DRU2R
R2D'LF2L'DRU2R
LF
FR
L2DL'U2LD'L'U2L'
L2DR'F2RD'L'U2L'
LR
FF
R'U'RU'R'U2R2UR'URU2R'
B'U2B2L'B'LB'UR'URB
FF
LB
LU2LDL'U2LD'L2
LU2LDR'F2RD'L2
FF
LR
B'U2B'D'BU2B'DB2
B'U2B'D'FR2F'DB2
FB
LF
L'BLF'L'B'LF
FRBR'F'RB'R'
R2D'RU'R'DRUR
FR
LF
RUR'URU'R'URU'R'URU2R'
RF'D2FR'U2RF'D2FR'
FB
LR
BL'B'RBLB'R'
R'F'L'FRF'LF
RDL2D'RDL2D'R2
F2DF'UFD'F'U'F'
FR
LB
R'F2LD'LDL2F2R
RB2L2DLD'LB2R'
L'U2RU'R'U2LRU'R'
FB
FB
R'ULU'RU'L'U'LU'L'
RU'L'UR'ULUL'UL
FR
FL
R'BUR2B'UBU'R2U'B'R
RF'U'R2FU'F'UR2UFR'
FB
BF
RB2U'B2UB2UR'LU2L'
R'F2UF2U'F2U'RL'U2L
FR
LF
L'U2LF'LF'R'F'RF2L'F
R'U'F'U'BU'FUB'RBU'B'
BU2B'U'BU'B2UFU'BUF'
RF
FL
F'U2FUF'UF2U'B'UF'U'B
LU2L'BL'BRBR'B2LB'
RF
LF
RU2R2U'R2U'R2U2R
FB
LR
FUF'UFU2F'
FR
LB
B'U2BU2FU'B'UF'B
B'U2BURB'UBU'R'
BUB'UB2DB'U2BD'B2
RF
FB
FU'B'UF'U'B
RF
FL
BL'U2LB'L'BU2B'L
R'DR2DL2D'R2DL2D2R
RB
FF
B'FUF'U'BU2FU2F'
B'U'RUR'BURU2R'
RL
FF
BUB'UF'UBU'FU2B'
F'U2BU'FUB'UF'UF
FB
RL
RU2R'U'RU'R'
FR
LB
BU2B'U2F'UBU'FB'
BU2B'U'L'BU'B'UL
B'U'BU'B2D'BU2B'DB2
FL
BF
F'UBU'FUB'
FL
RF
B'RU2R'BRB'U2BR'
LD'L2D'R2DL2D'R2D2L'
BL
FF
BF'U'FUB'U2F'U2F
BUL'U'LB'U'L'U2L
RL
FF
B'U'BU'FU'B'UF'U2B
FU2B'UF'U'BU'FU'F'
FF
BB
LUL'UB'UBU'B2RBR'B
L'U'LU'FU'F'UF2R'F'RF'
RB2R2U2RB2R'U2R2B2R'
FB
FB
(U)RUR'URU'R'URU2R'
RU2R'U'RUR'U'RU'R'
FR
FL
R'LF2L'F2UF2UF2U'F2R
RB'R'BU2R2F'LF'L'F2R2
R'U2L'RDL2UL2D'B2L
LR
FF
FUF'UFUB'UF'U'B
F'U'FU'F'U'BU'FUB'
L'URU'L2UL'R'U2LUL'


Explanation
Using the algorithms in the table above, you can orient and permute all corners of the final layer in one algorithm, without changing the orientation of the edges.
The table works like this:
First take a look at the orientation of the corners, and find the corresponding image in the list. You may need to move the upper layer to get the same angle as one of the images.

Next find out which algorithm to use (depending on the position of the corners!) by checking the color of the stickers of the corners:
To the left of the algorithms there are four letters. The two letters in the left column correspond with the corner stickers at UBL, UFL and FUL. The two letters in the right column correspond with the corner stickers at UBR, UFR and FUR.
In both columns there is always one sticker with the color of the upper layer. The other two stickers in the column are different.
If two of the four designated cubies have the same color, then their color becomes the front color (F). If there are two pairs of the same color, then the color of the upper left back is the front color.
Now you know which are the other colors of the cubies, they can be L(eft), R(ight) or B(ack).
This way you can decide which of the 40 algorithms to use.
Difficult? Just do the inverse of one of the algorithms and see what the corner stickers look like. They should look like the pattern of the letters.
Believe me: after some practice, you can immediately see which algorithm to use.

Good luck!