Michael,
It depends on how you are accessing it. If you look at how a quicksort works, not too many pages are accessed at any time (the pivot is always there and one page table word scans the memory from the front of the array and another scans from the back of the array and the possible exchange just uses the second and third page table word). As the sort progresses, the adjacent values are grouped, the lower values together and the higher values together. Then the smaller front and back halves are themselves sorted the same way. If you had a linked list and tried to sort, each access would potentially access another page thus causing heavy paging. The same thing would happen if you had an array of pointers to strings that was being sorted (just swapping the pointers to logically pit the entries adjacent to each other). The code for procedures is mostly contained on one page so loops do not really cause heavy paging, even if you are in a loop calling some other procedure, you would only use 2 pages.
So, paging depends a lot on how you are using the memory.
Dave.