Pages

Should have + Past participle

It is used to talk about things that didn't really happen in the past. It  means something that would have been a good idea, but that you didn't do it. It's like giving advice about the past when you say it to someone else, or regretting what you did or didn't do when you're talking about yourself.
Structure : Subject + Should have + V3 + Object

Ex: I should  have worked harder!
      It means I didn`t work hard.

Shouldn't have + past participle. It means that something wasn't a good idea, but you did it anyway.
Structure:
Subject + Shouldn't have + V3 + Object
Ex:
I shouldn't have eaten so much cake!
It means I ate lot of cake.