c語言心得-----數組中對元素的操作排序,尋找,插入,和刪除

來源:互聯網
上載者:User

c語言心得-----數組中對元素的操作排序,尋找,插入,和刪除

獻給曾經和我一樣的菜鳥

材料來源:http://blog.sina.com.cn/u/497dc9a1010004t6


                                                                                                                     
////////////////////////////////////////////////////////////
//數組的順序(降序排序)模組//////
///////////////////////////////////////////////////////////
/*
#include<stdio.h>
#define n 100
main(){
int a[n],i,j,t;
int k;
printf("請輸入數組大小:");
scanf("%d",&k);
for(i=0;i<k;i++){
printf("請輸入a[%d]元素的值:",i);
scanf("%d",&a);}
for(i=0;i<k;i++){
    for(j=0;j<=k-i-1;j++){
         if(a[j]<a[j+1]){
            t=a[j];
            a[j]=a[j+1];
            a[j+1]=t;}
    }
 
}
printf("降序排序後的順序為:/n");
for(i=0;i<k;i++){printf("%d",a);}
}*/

/////////////////////////////////////////////////////
//數組元素尋找模組///////////////////
/////////////////////////////////////////////////////
必須考慮問題:重複的元素!
/*#include<stdio.h>
main(){
  int i,j, k;
  int a[50];
  int search;
printf("請輸入數組長度:");
scanf("%d",&k);
for(i=0;i<k;i++){
printf("請輸入a[%d]的值:",i);
scanf("%d",&a);}

printf("請輸入您要尋找的數:");
scanf("%d",&search);
for(i=0;i<k;i++){
     if (search==a){break;}

}
for(i=0;i<k;i++){                  //尋找有重複的數的情況!
if (search==a)
    if(i<k)
printf("你所要找的數在第%d位/n",i+1);
else
printf("很抱歉,沒有您要找的數。");
}
}*/

/////////////////////////////////////////////////////////////////////
//元素的插入模組。//////////////////////////////////
////////////////////////////////////////////////////////////////////
必須考慮問題:插入後的排序
/*#include<stdio.h>
#define n 100
main(){
int a[n],i,j,l,t;
int k;
int in;
printf("請輸入數組大小:");
scanf("%d",&k);
for(i=0;i<k;i++){
printf("請輸入a[%d]元素的值:",i);
scanf("%d",&a);}
for(i=0;i<k;i++){
for(j=0;j<=k-i-1;j++){
  if(a[j]<a[j+1]){
      t=a[j];
      a[j]=a[j+1];
      a[j+1]=t;}
}
 
}
printf("降序排序後的順序為:/n");
for(i=0;i<k;i++){printf("%d ",a[i]);}
printf("請輸入要插入的元素");
scanf("%d",&in);
for(i=0;i<k;i++)
{
  if(in>a)break;}
for(l=k;l>i;l--)//迴圈到i的地方停止搜尋,找到位置,然後插入,然後後面的元素後移
{a[l]=a[l-1];}
a=in;//插入元素in在正確的位置
printf("/n插入的數組元素是:%d/n",in);
printf("重新排序後的元素順序是:");
for(i=0;i<k+1;i++)
{
printf("%d   ",a);

}
printf("/n");

}*/
////////////////////////////////////////////////////////
/////元素刪除模組///////////////////////////
////////////////////////////////////////////////////////
必須考慮問題:刪除相同的元素
/*#include<stdio.h>
#define n 100
main(){
int a[n],i,j,t;
int m=0;
int k;
int d;//要刪除的元素。
char c;//接受使用者輸入字元!
printf("請輸入數組大小:");
scanf("%d",&k);
for(i=0;i<k;i++){
printf("請輸入a[%d]元素的值:",i);
scanf("%d",&a);}
for(i=0;i<k;i++){
for(j=0;j<=k-i-1;j++){
  if(a[j]<a[j+1]){
       t=a[j];
       a[j]=a[j+1];
       a[j+1]=t;}
}
 
}
printf("降序排序後的順序為:/n");
for(i=0;i<k;i++){printf("%d ",a);}
printf("請輸入要刪除的元素:");
scanf("%d",&d);
m=0;
for(i=0;i<k;i++)
{
  if (d==a){

for(j=i;j<k;j++)a[j]=a[j+1];
m=m+1;
--i;
 }
 }
  printf("重新排序後的順序是:/n");
  for(i=0;i<k-m;i++)
  printf("%d ",a);
}

*/ 

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.