高职图书馆网站建设大赛,内蒙古网络自学网站建设,广西建设职业技术学校官方网站,利用wordpress做api提供者1.冒泡排序(BubbleSort)实现 算法步骤#xff1a;比较相邻的元素。如果第一个比第二个大#xff0c;就交换。 对每一对相邻元素作同样的工作#xff0c;从开始第一对到结尾的最后一对。 这步做完后#xff0c;最后的元素会是最大的数。 针对所有的元素重复以上的步骤#…1.冒泡排序(BubbleSort)实现 算法步骤比较相邻的元素。如果第一个比第二个大就交换。 对每一对相邻元素作同样的工作从开始第一对到结尾的最后一对。 这步做完后最后的元素会是最大的数。 针对所有的元素重复以上的步骤除了最后一个。持续每次对越来越少的元素重复上面的步骤直到没有任何一对数字需要比较。 代码实现
void BubbleSort(int arr[],int len)
{for(int i0;ilen-1;i)//外循环是遍历每个元素每次都放置好一个元素{for(int j0;jlen;j)//内循环是比较相邻的两个元素把大的元素交换到后面{if(arr[j]arr[j1]){int temparr[j];arr[j]arr[j1];arr[j1]temp;}}}
} 2.冒泡排序的时间复杂度 最优的情况是已经排好序了那么就不用交换元素时间开销为[n(n-1)]/2时间复杂度为O(n^2)。 最差的情况是元素刚开始也拍好序了但是是逆序这样每一次排序都要交换两个元素时间开销为[3n(n-1)]/2时间复杂度为O(n^2)。
3.leetcode题目
最后一块石头的重量 void bubbleSort(int* nums,int n)
{for(int i0;in-1;i){for(int j0;jn-1-i;j){if(nums[j]nums[j1]){int tempnums[j];nums[j]nums[j1];nums[j1]temp;}}}
}
int lastStoneWeight(int* stones, int stonesSize) {while(stonesSize1){bubbleSort(stones,stonesSize);stones[stonesSize-2]stones[stonesSize-1]-stones[stonesSize-2];stonesSize--;}return stones[0];
}