设计并实现算法,将顺序表重新排列成以第一个元素为界的两部分,前一部分元素的值都小于它,后一部分元素的值都大于或等于它。估算所设计算法的时间复杂度和空间复杂度。