算法:冒泡排序的c++实现
还记得之前的噩梦吗?又还记得吗?今天,他们即将合为一体。。。。。。
/1.知识点复习/
//包含头文件//覆盖命名空间using namespace std;//主函数,程序的人口int main(void){//随机数srand(time(0));int num = rand()%100;//定义变量,类型int,名称guessint guess;//主循环,while//while格式:whlie(条件){}while (guess != num){//cout输出cout << "。。。";//cin输入cin >> guess;//if语句的嵌套if (guess > num){cout << "。。。";}else{if (guess < num){cout << "。。。";};};};cout << "。。。";//返回值return 0;}
/2.数组和for循环/
接下来就是新知识点了,记得做好笔记!
1.数组的定义
我们在python当中有一个数据类型list列表,其实他就是数组的升级版:数组就是只可以储存一种数据类型的list,它的定义方式是:
//type name[length] = {content};int list[5] = {1,2,3,4,5};
在上面的示例中,我们便定义了一个长度为5,储存类型为int的list数组。
那么该怎样输出整个数组呢?有人会说:“直接输出数组名不就好了?”,我们来试试:
cout << list//output : 0x22fe30
这恐怕不是你想要的输出,那这又是什么意思呢?
其实我们可以和python一样用索引(下标)来控制访问数组的某个元素,和python一样,也是从零开始的:
cout << list[0];//output :1
如果要输出所有值怎么办呢,这就要用到下一个知识点了。
2.for循环
没错,如果要输出所有值就一定要用到for,那么for循环的格式又是怎样的呢?
//for(init;rule;update){}for(int n=0;n<10;n++){content;};
它的结构有点复杂,我们一个个看:
init:初始化条件,在进入循环时执行一次。
rule:运行条件,在达成时运行。
update:更新条件,每次continue时执行。
其实本质就是加了init和update的while循环。
所以如果要输出所有数组值的话,就该这么写:
for(int a=0;a<5;a++)cout << list[a];
这里我们见到了一个新语句:a++,这其实就是自增操作。
/3.冒泡排序/
python代码:
def bubble(list_1):lenth = len(list_1)list_ = list_1[::1]#排序方式for i in range(lenth-1):#用于确定回合数for j in range(lenth-1-i):#用于确定天平位置if list_[j] > list_[j+1]:list_[j],list_[j+1] = list_[j+1],list_[j]return list_bubble([8,6,7,5,7,6,0,9,1,3,2,4,3,5,6])
c++代码:
using namespace std;int main(){int k[4] = {8,9,5,6};for (int i = 0;i<4;i++){for (int j=0;j<4;j++){if (k[j]>k[j+1]){int temp = k[j];k[j] = k[j+1];k[j+1] = temp;};};};for(int a=0;a<4;a++)cout << k[a];return 0;}
今天你学废了吗
