int main(int argc, const char * argv[]) {
int n = 0;
printf("输入数组个数 : ");
scanf("%d",&n);
int array[n];
for (int i = 0; i < n; i++) {
array[i] = arc4random()% 100 + 1;
printf("%d\t",array[i]);
}
printf("\n");
//YES交换,NO为未交换。。
BOOL exchangeFlag = NO;
for (int i = 0 ; i < n - 1; i ++) {
exchangeFlag = NO;//清除交换记录
for (int j = 0; j< n - 1 - i; j++) {
if (array[j] > array[j+1]) {
//需要在这里记录交换
exchangeFlag = YES ;
int temp = array[j];
array[j] = array[j+ 1];
array[j+1] = temp ;
}
}
//判定是否有交换,没有就结束排序。
if (exchangeFlag == NO) {
printf("第%d趟提前结束",i);
break;
}
}
printf("\n");
for (int i = 0; i < n; i ++) {
printf("%d\t",array[i]);
}
printf("\n");
return 0;
}
冒泡排序优化 - (记录次数)
最后编辑于 :
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。
相关阅读更多精彩内容
- 开心一笑 【我现在出门都得带口罩,要不然就嗓子疼还咳嗽,想吸一口新鲜空气真的是太难了,估计以后纯净的空气得比红酒还...
- pragma mark 选择-冒泡排序优化 pragma mark 概念 pragma mark 代码 OC代码排序