数据结构 C++冒泡排序 数组当参数传递

冒泡排序#include <iostream>using namespace std;void bubblesort1A(int A[],int n);int main() {    int A[10]={0},n=0,i=0;    cin>>n;    for( i=0;i<n;i++)        cin>>A[i];    bubblesort1A( A , n);        for(int i=0;i<n;i++)            cout<<A[i]<<endl;        return 0;}void bubblesort1A(int A[],int n){    bool sorted = false;    while (!sorted)    {        sorted = true;        for (int i = 1; i < n; i++)        {            if (A[i - 1] > A[i])            {                swap(A[i - 1], A[i]);                sorted = false;            }        }n--;    }}

数组当参数传递
#include <iostream>using namespace std;int test2(int a[]){    for(int i=0;i<5;i++){        cout<<a[i]<<endl;    }}int main(){    int a[5] = {1,2,3,4,5};    test2(a);}
统计整数二进制展开中数位1的总数
#include <iostream>using namespace std;int countOnes( unsigned int n);int main(){   int n;    cin>>n;    countOnes(n);    cout<<countOnes(n)<<endl;    return 0;}int countOnes( unsigned int n){    int ones = 0;    while( 0< n)//在n缩减到0之前    {        ones +=(1&n);//检查最低位,若为1则计数   1看作00000001        n>>=1;//右移一位    }    return ones;}
 幂函数算法(蛮力迭代法)
#include<iostream>using namespace std;__int64 power2BF_I (int n);int main(){    int n,z=0;    cin>>n;    cout<< (__int64) power2BF_I (n)<<endl;//如此处不加括号12: error: expected primary-expression before ‘long‘cout<< __int64 power2BF_I (n)<<endl;
return 0;}__int64 power2BF_I (int n){    __int64 pow=1;    while(0<n--)        pow<<=1;    return pow;}

 



原文地址:https://www.cnblogs.com/wwqdata/p/11515342.html

时间: 2024-10-13 14:50:42

数据结构 C++冒泡排序 数组当参数传递的相关文章

从零开始实现数据结构(一) 动态数组

从零开始实现数据结构(一) 动态数组 动态数组是所有数据结构中最简单的一种,甚至在很多的语言中,数组本身就是可以不定长的.因为在学习c++的时候,使用动态数组的各种操作都不是很方便(数据结构的学习最好还是c或c++,基础打好了其他的语言数据结构就很简单).所以开始学习如何去实现一个像STL中的vector一样的动态数组. 创建数组基类CArray 因为后面还准备写一个有序数组,所以这里使用一个CArray类,把数组的各种基本特性先创建好.后面需要写什么数组,就可以写它下面的子类,来完成特殊的功能

SDUT 3347 数据结构实验之数组三:快速转置

数据结构实验之数组三:快速转置 Time Limit: 1000MS Memory Limit: 65536KB Submit Statistic Problem Description 转置运算是一种最简单的矩阵运算,对于一个m*n的矩阵M( 1 = < m < = 10000,1 = < n < = 10000 ),它的转置矩阵T是一个n*m的矩阵,且T( i , j )=M( j , i ).显然,一个稀疏矩阵的转置仍然是稀疏矩阵.你的任务是对给定一个m*n的稀疏矩阵( m

数组当做参数传递的问题

/* ============================================================================ Name : TestArray.c Author : lf Version : Copyright : Your copyright notice Description : 数组当做参数传递的问题 数组当做参数传递的时候,传递的是数组的指针 因为: 1 数组的拷贝很耗费资源.为了避免这种情况,C语言的编译器在传递数组时传递数组的指针

(2)redis的基本数据结构是动态数组

redis的基本数据结构是动态数组 一.c语言动态数组 先看下一般的动态数组结构 struct MyData { int nLen; char data[0]; }; 这是个广泛使用的常见技巧,常用来构成缓冲区.比起指针,用空数组有这样的优势: 1.不需要初始化,数组名直接就是所在的偏移   2.不占任何空间,指针需要占用int长度空间,空数组不占任何空间.  这个数组不占用任何内存,意味着这样的结构节省空间: 该数组的内存地址就和他后面的元素的地址相同,意味着无需初始化,数组名就是后面元素的地

二维数组作为参数传递的问题

1.当我们使用二维数组作为参数传递的时候,所传递的二维数组的第二项必须为一个常数,否则编译不能通过,如int a[][3]; 例如: #include<stdio.h> #define N 3 int turn(int a[][N]) //注意此处 { int i,j,temp; temp=0; for(i=0; i<N; i++) { for(j=0; j<N; j++) { if(i<j) { temp =a[i][j]; a[i][j]=a[j][i]; a[j][i]

【算法与数据结构】图 -- 数组表示法

图的数组表示法 借助一个二维数组表示图,该二维数组的第i行,第j列的值表示从Node[i]到Node[j]: 无向图(网):是否有边 / 权值,arr[i][j] == arr[j][i],无向图(网)的特性,矩阵关于对角线对称. 有向图(网):是否有弧 / 权值. //图的数组表示法 //最大顶点个数 const int MAX_VERTEX = 100; //最大值 const int MAX_VALUE = (1 << 31) - 1; typedef struct _tagArcCel

当数据结构遇到编程语言——数组

赵振江 数据结构 数组 一维数组 "数组"你真的很了解吗? 数组大家都不是很陌生,它已经"植入"了许多编程语言,但初学者一提到数组,可能不会联想到"数据结构",而是想到的会是一种"数据类型",数组本质上就是一种极其简单的数据结构.所谓数组,就是相同数据类型的元素按一定顺序排列的集合.也就是在内存中划分一段连续的且大小固定(注意是连续)的内存空间(或者其他存储器)保存相同数据类型的数据,如下图.一般说的简单数组,都是静态的数组,

C语言一级指针、二级指针、数组作为参数传递需要注意的若干问题

在C语言编程时,经常会用到指针或数组作为参数传递,但有时结果却并不是自己想要的.下面总结下指针.数组作为参数传递需要的问题. 一级指针与二级指针的使用范围: 一级指针存放变量的地址,指向的值是变量的内容.如int* p={1,2,3}, p=数组的首地址,*p=数组的第一个值: 二级指针存放一级指针的地址,指向一级指针.如int*p ={1,2,3}, int**pp=&p,pp=指针p的首地址,*pp=数组的首地址,**pp=数组第一个值1. 在作为参数传递时什么时候用一级指针,什么时候用二级

数据结构——树状数组

我们今天来讲一个应用比较广泛的数据结构——树状数组 它可以在O(nlogn)的复杂度下进行单点修改区间查询,下面我会分成三个模块对树状数组进行详细的解说,分别是树状数组基本操作.树状数组区间修改单点查询的实现.树状数组查询最值的实现 一. 树状数组一般分为三种操作,初始化.修改.查询 在讲基本操作之前,我们先来看一张图 这张图就是树状数组的存储方式,对于没有接触过树状数组的人来说看懂上面这张图可能有些困难,上图的A数组就是我们的原数组,C数组则是我们需要维护的数组,这样存储能干什么呢,比如我们在