首页
题库
面试
求职
学习
竞赛
More+
所有博客
搜索面经/职位/试题/公司
搜索
我要招人
去企业版
登录 / 注册
首页
>
试题广场
>
长度为n的数组乱序存放着0至n-1. 现在只能进行0与其他数
[问答题]
长度为n的数组乱序存放着0至n-1. 现在只能进行0与其他数的swap,请设计并实现排序。
添加笔记
求解答(0)
邀请回答
收藏(5)
分享
纠错
3个回答
添加回答
0
牛客39565718号
#include<iostream> using namespace std; void swap(int &a, int &b) { a=a^b; b=a^b; a=a^b; } void msort(int a[], int n) { int i=0; while(i<n) { if(a[i]==i) i++; else swap(a[i],a[ a[i] ]); } } int main() { int a[6]={5,4,3,1,2,0}; msort(a,6); int i=0; for(i=0; i<6; i++) cout<<a[i]<<endl; }
发表于 2024-12-19 14:14:11
回复(0)
0
mylu
有一个位置标志位0的位置,使用冒泡法
当两个换位置时,需要0来参与
void swap(int post1,int post2,int data[],int post0){
int post0=swap(post1,post0,data);
int post0=swap(post2,post0,data);
int post0=swap(post1,post0,data);
}
发表于 2018-08-01 16:53:15
回复(0)
0
🌊狂屠
#include<iostream> using namespace std; void swap(int &a, int &b) { a=a^b; b=a^b; a=a^b; } void msort(int a[], int n) { int i=0; while(i<n) { if(a[i]==i) i++; else swap(a[i],a[ a[i] ]); } } int main() { int a[6]={5,4,3,1,2,0}; msort(a,6); int i=0; for(i=0; i<6; i++) cout<<a[i]<<endl; }
发表于 2018-08-01 16:21:45
回复(0)
这道题你会答吗?花几分钟告诉大家答案吧!
提交观点
问题信息
谷歌
排序
上传者:
Tom?
难度:
3条回答
5收藏
10108浏览
热门推荐
相关试题
运行下面这段C语言程序之后,输出在...
谷歌
C++
C语言
评论
(67)
在下列表述中,错误的是()
字符串
树
排序
评论
(43)
按照OSI模型的层次概念,下列几个...
谷歌
网络基础
评论
(5)
来自
Google2012笔试卷
请问以下有关 Promise 内置...
Javascript
评论
(1)
宏定义是C语言中非常实用的一种计算...
C语言
评论
(1)
扫描二维码,关注牛客网
意见反馈
下载牛客APP,随时随地刷题