算法与数组c/c++

关于移除元素的分析:

//if 我们将一个数组的其中的一个ops移除;
    for(int i=ops+1;i<count_size;i++){
             vulus[i-1]=vulus[i];
     }
 count_size--;

对于移除其中的一个元素我们可用后者补上来将他替换掉;

那如何插入个函数呢; //无序

if(current_size<caryle){
      current_size++;
   vulus[current_size-1]=new_point;
} 

对于插入函数//有序的位置;思路是大到小移动;

if(current_size<caryle){ 
     current_size++;
       for(int i=currrent_size-1; i<ops/*位置*/; i--){
      vulus[i] =vulus[i-1];
}
    vulus[ops] =new_opint;
}

关于交换数组的概念:

bouble temp =valua[i] ;
  valua[i] =valua[j]; 
   valua[j] =temp;
  //交换valua[i]的值valua[j]; 

关于持续性的数值输入:

 count int countsize=1000;
   double value[countsize];
   for(int i=0;i< countsize;i++){
       cin>> value[i];
    printf("\t");
     cout<< value[i]<<endl;
 } 

利用while 进行写如函数:

void number_i(){
  const int countsize =100;
 double input; 
int size =0;
 double value[countsize];
  while (cin>> input){
    size++;
     if(size< countsize){
           value[size]=input;
 }else 
    return ;
  cout<< "value[" <<size<< "]<<value[size]<<endl;
   cout<< input<<endl;

关于C++的数组进行排序;sort; #include<algorithm>

#include<algirithm>
  sort (vlaie.begin(),vlaie.end())//掌握这玩意要超过c++的高级特性;

关于二分查找的数据:

bool found =false;
const int size=10;
 double value[size]; 
int low =0;
 int high =size-1;
  int ops=0;
int number;
 cout<< "please input a nemubre: ";
cin>>number;
   int serct_value=number;
 whilw(low<=high&& !found){
     ops=(low+high)/2;//zhongjian ;
 if(value[ops] ==secrt_value){
   found =true;}
 else if(value[ops] <secrt_value){
  low=ops+1;}
  else{
  high=ops-1;
} 
}
 if(found) ;
 cut << "found";
 else
{ 
 cout<<"meiyou found";
 }

数组与函数:如何加其函数的sum;

 double sum(double value[],int size){
   int talt=0;   
for(int i=0;i<size;i++){
     talt=valua[i]+talt;
 }
 cout<< talt<<endl;
  return talt;
}

关于写错误的算法的问题: cin.fail(),cin.clear(),cin.sync(),cin.ignore()的解释

关于cin.sync()的详细解释;

/*使用的cin.sync(); 清除掉缓冲区:                                                                                                                                                                                                                                                                                                                                                                                                                                 
12344

cin.sync();

空的缓冲区可进行利用:

cout<< "cin.fail()" <<cin.fail()<< endl;

   int coutsize = 0;
cout <<"please enter vaslue:" ;
  bool more =true;
  while(more){
    double input;
      cin>> input;
    if(cin.fail()){
     more =false;
 }
  coutsize++;
}

cin.fail()// 判断cin>> a 的数据是否cin 错误;

修改算法(找位置和最小值)

int smllest=0;
  for(int i=0;i< (sizeof(value)/sizeof(int));i++){ 
     if(value[i]>value[smllest]){
        smllest = i;
 }//ke找出位置并找出最小的数据;

关于二维数组:
访问二维数组:

for(int i=0;i<width ;i++){
   for(int j =0;j< height;j++){
      cout<< set(8)<<count[i][j];
     cout<<endl;
        }
    }
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

老鬼城

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值