The allocation and exchange of discrete resources, such as transplant organs, public housing, dormitory rooms, and many other resources for which agents have single-unit demand, is often conducted via direct mechanisms without monetary transfers. Incentive compatibility and efficiency are primary concerns when designing such mechanisms. We construct the full class of group strategy-proof and Pareto-efficient mechanisms and show that each of them can be implemented by endowing agents with control rights over resources. This new class, which we call trading cycles, contains new mechanisms as well as known mechanisms such as top trading cycles, serial dictatorships, and hierarchical exchange. We illustrate how one can use our construction to show what can and what cannot be achieved in a variety of allocation and exchange problems, and we provide an example in which the new trading-cycles mechanisms are more Lorenz equitable than all previously known mechanisms.