亚洲精品久久久中文字幕-亚洲精品久久片久久-亚洲精品久久青草-亚洲精品久久婷婷爱久久婷婷-亚洲精品久久午夜香蕉

您的位置:首頁技術文章
文章詳情頁

C語言數組添加和刪除元素的實現

瀏覽:83日期:2022-06-04 16:13:41

數組不擅長插入(添加)和刪除元素。數組的優點在于它是連續的,所以查找數據速度很快。但這也是它的一個缺點。正因為它是連續的,所以當插入一個元素時,插入點后所有的元素全部都要向后移;而刪除一個元素時,刪除點后所有的元素全部都要向前移。

插入算法

# include <stdio.h>
int main(void)
{
  int a[23] = {1, 5, 66, 8, 55, 9, 1, 32, 5, 65, 4, 8, 5, 15, 64, 156, 1564, 15, 1, 8, 9, 7, 215};
  int b[24]; //用來存放插入數字后的新數組, 因為又插入了一個值, 所以長度為24
  int Index; //插入值的下標, Index是“下標”的英文單詞
  int num; //插入的值
  int i; //循環變量
  printf("請輸入插入值的下標:");
  scanf("%d", &Index);
  printf("請輸入插入的數值:");
  scanf("%d", &num);
  for (i=0; i<24; ++i)
  {
    if (i < Index)
    {
      b[i] = a[i]; /*循環變量i小于插入值位置Index時, 每一個元素所放的位置不變*/
    }
    else if (i == Index)
    {  
      b[i] = num; //i等于Index時, 將插入值賦給數組b
    }
    else
    {
      b[i] = a[i-1]; /*因為插入了一個新的元素, 所以插入位置后的每一個元素所存放的位置都要向后移一位*/
    }
  }
  for (i=0; i<24; ++i)
  {
    printf("%d\x20", b[i]);
  }
  printf("\n");
  return 0;
}

輸出結果是:
請輸入插入值的下標:10請輸入插入的數值:22
1 5 66 8 55 9 1 32 5 65 22 4 8 5 15 64 156 1564 15 1 8 9 7 215

刪除算法

# include <stdio.h>
int main(void)
{
  int a[23] = {1, 5, 66, 8, 55, 9, 1, 32, 5, 65, 4, 8, 5, 15, 64, 156, 1564, 15, 1, 8, 9, 7, 215};
  int b[22]; /*用來存放刪除數字后的新數組, 因為刪除了一個值, 所以長度為22*/
  int Index; //要刪除的值的下標
  int i; //循環變量
  printf("請輸入要刪除的值的下標:");
  scanf("%d", &Index);
  for (i=0; i<23; ++i)
  {
    if (i < Index)
    {
      b[i] = a[i]; /*循環變量i小于插入值位置Index時, 每一個元素所存放的位置不變*/
    }
    else
    {
      b[i] = a[i+1]; /*刪除值后面的元素都往前移一位, 要刪除的值直接被覆蓋*/
    }
  }
  for (i=0; i<22; ++i)
  {
    printf("%d\x20", b[i]); // \x20表示空格
  }
  printf("\n");
  return 0;
}

輸出結果是:
請輸入要刪除的值的下標:5
1 5 66 8 55 1 32 5 65 4 8 5 15 64 156 1564 15 1 8 9 7 215

實例

37, 49, 51, 61。設計程序對數組中的數據實現一次刪除及插入操作:

利用getchar()函數接收鍵盤輸入:
● 當輸入字符"D"時,接收鍵盤輸入一個數組中存在的整數n,并對數組中存在的該整數進行刪除,要求刪除后的數組各元素仍按照從小到大的順序排列。
要求:不使用冒泡法或選擇法實現刪除數據后的排序操作。
● 當輸入字符"I"時,接收鍵盤輸入一個數組中不存在的整數m,并將該整數m插入到數組中,要求插入后的數組各元素仍按照從小到大的順序排列。
要求:不使用冒泡法或選擇法實現插入數據后的排序操作。

樣例輸入和輸出:
數組排序后的結果為:5, 9, 11, 16, 24, 34, 37, 49, 51, 61

請輸入需要進行的操作(插入"I",刪除"D"):D
請輸入需要刪除的整數:9
刪除后的數組為:5, 11, 16, 24, 34, 37, 49, 51, 61

請輸入需要進行的操作(插入"I",刪除"D"):I
請輸入需要插入的整數:13
插入后的數組為:5, 11, 13, 16, 24, 34, 37, 49, 51, 61

#include <stdio.h>

int main()
{
 int a[10] = { 5, 9, 11, 16, 24, 34, 37, 49, 51, 61 };
 int i = 0,n=0,k=0;
 char get;
 
 for (i = 0; i < 10; i++)
  printf("%3d", a[i]);
 printf("\n");
 printf("請輸入需要進行的操作(插入‘I",刪除‘D")\n");
 
 get = getchar();
 getchar();
 
 if (get=="D")
 {
  printf("請輸入要刪除的整數:\n");
  n = getchar(); 
  getchar();
  n -= 48;
  for (i = 0; i < 10; i++)
  {
  if (a[i]==n)
  {
   for (; i < 10; i++)
   {
    a[i] = a[i + 1];
   }
   a[9] = 0;
   break;
  }
  }
 for (i = 0; i < 9; i++)
  printf("%3d", a[i]);
 printf("\n");
 }
 
 printf("請輸入需要進行的操作(插入‘I",刪除‘D")\n");
 get = getchar();
 getchar();
 
 if (get="I")
 {
 printf("請輸入要插入的整數:\n");
 scanf_s("%d", &n); //注意陷阱,不能用getchar(),因為13其實是兩個字符,回車之后,n只吸收了‘1",所以只能用scanf_s().
 for (i = 0; i < 10; i++)
 {
  if (a[i] < n&&n < a[i + 1])
  {
  k = i;
  for (i = 8; i > k; i--)
  {
   a[i+1] = a[i];
  }
  a[k+1] = n;
  break;
  }
 }
 for (i = 0; i < 10; i++)
  printf("%3d", a[i]);
 }
 return 0;
}

到此這篇關于C語言數組添加和刪除元素的實現的文章就介紹到這了,更多相關C語言數組添加和刪除元素內容請搜索以前的文章或繼續瀏覽下面的相關文章希望大家以后多多支持!

標簽: ASP
主站蜘蛛池模板: 中国一级毛片aaa片 中国一级毛片在线观看 | 日韩中文字幕在线播放 | 91老司机免费精品观看 | 我们不能是朋友未删减版在线看 | 久久国产免费福利永久 | 99久久精品国产片久人 | 6080欧美一区二区三区四区 | 九九99久久精品在免费线bt | 亚洲综合亚洲综合网成人 | 免费高清资源黄网站在线观看 | 亚洲综合一 | 日本欧美黄色 | 久久亚洲一级毛片 | 国产成人综合亚洲欧美在线n | 伊人影院在线观看 | 欧美日韩在线观看区一二 | 成人a毛片视频免费看 | 亚洲精品1区 | 久久久久久久国产精品毛片 | 免费人成在线视频播放2022 | 免费啪啪小视频 | 特级毛片免费视频播放 | 97香蕉久久夜色精品国产 | 欧美二区在线观看 | 欧美在线观看一区二区三 | 91免费永久国产在线观看 | 拍拍拍拍拍拍拍无挡大全免费 | 一级黄网站 | 久草a视频 | 精品哟哟哟国产在线观看不卡 | 亚洲国产成人久久综合碰 | 色综合视频在线 | va视频在线观看 | 狠狠色丁香婷婷综合 | 成年性视频bbixx | 日韩a级毛片| 国产乱人乱精一区二区视频密 | 99久久免费国产特黄 | 国产丝袜视频在线 | 亚洲成人在线网 | 中文字幕国产综合 |