線性表1.0(陣列實現)
線性表1.0(s陣列實現)
#include<stdio.h>
#include<malloc.h>
int Length=0;
void Menu(void);
int Choice(void);
int *initialize(int n);
void add(int array[],int index,int value);
int delet(int array[],int index);
int find(int array[],int index);
void show(int array[]);
int main()
{
int flag=1,index=0,value=0,*array;
Menu();
while(flag)
{
switch(Choice())
{
case 0:
flag=0;
break;
case 1:
printf("請輸入初始化陣列長度:\n");
scanf("%d",&Length);
array=initialize(Length);
break;
case 2:
printf("請輸入新增的位置和數值:\n");
scanf("%d%d",&index,&value);
add(array,index,value);
break;
case 3:
printf("請輸入刪除的位置:\n");
scanf("%d",&index);
delet(array,index);
break;
case 4:
printf("請輸入查詢的位置:\n");
scanf("%d",&index);
find(array,index);
break;
case 5:
show(array);
break;
}
}
return 0;
}
void Menu(void)
{
printf("選項選單:\n");
printf("0.退出\n");
printf("1.初始化長度為n的陣列\n");
printf("2.在陣列指定位置新增數值\n");
printf("3.刪除陣列指定位置數值\n");
printf("4.查詢陣列指定位置數值\n");
printf("5.顯示當前陣列\n");
}
int Choice(void)
{
int choice;
printf("請輸入你想進行的操作:\n");
scanf("%d",&choice);
return choice;
}
int *initialize(int n)
{
int *p,i;
p=(int*)malloc(sizeof(int)*n);
for(i=0;i<n;i++)
p[i]=0;
return p;
}
void add(int array[],int index,int value)
{
if(index<0||index>=Length)
printf("新增數值失敗\n");
else
{
array[index]=value;
printf("新增數值成功\n");
}
}
int delet(int array[],int index)
{
int value,i;
if(index<0||index>=Length)
{
printf("刪除位置數值失敗\n");
return -1;
}
else
{
value=array[index];
for(i=index;i<Length-1;i++)
array[i]=array[i+1];
Length--;
printf("刪除的數值為%d\n",value);
return value;
}
}
int find(int array[],int index)
{
if(index<0||index>=Length)
{
printf("查詢失敗\n");
return -1;
}
else
{
printf("查詢位置數值為%d\n",array[index]);
return array[index];
}
}
void show(int array[])
{
int i;
printf("陣列長度為%d\n",Length);
for(i=0;i<Length;i++)
printf("%d ",array[i]);
printf("\n");
}
相關文章
- 線性表及其實現
- 【筆試】陣列、線性表的本質區別筆試陣列
- 線性表(陣列、連結串列、佇列、棧)詳細總結陣列佇列
- 線性結構(二)--陣列陣列
- 線性表-順序表C語言實現C語言
- 【演算法】【線性表】【陣列】買賣股票的最佳時機演算法陣列
- 線性表的使用——順序實現
- 【演算法】【線性表】【陣列】買賣股票的最佳時機 II演算法陣列
- 線性表及其演算法(java實現)演算法Java
- go語言使用切片實現線性表Go
- 陣列排序的實現陣列排序
- golang實現稀疏陣列Golang陣列
- 線性結構 陣列與連結串列陣列
- 資料結構與演算法系列2 線性表 使用java實現動態陣列+ArrayList原始碼詳解資料結構演算法Java陣列原始碼
- JS實現陣列去重JS陣列
- 如何實現陣列去重?陣列
- PHP 陣列底層實現PHP陣列
- JavaScript 中實現等分陣列JavaScript陣列
- 演算法與資料結構1800題 之 陣列與線性表(三)演算法資料結構陣列
- 靜態佇列,迴圈陣列實現佇列陣列
- NumPy 陣列屬性陣列
- 資料結構:線性表(Python實現基本操作)資料結構Python
- NumPy之:多維陣列中的線性代數陣列
- 正則實現陣列濾重陣列
- JS陣列去重的實現JS陣列
- PHP 實現按奇偶排序陣列PHP排序陣列
- NumPy迭代陣列的實現示例陣列
- 約瑟夫環(陣列實現)陣列
- 使用陣列實現環形佇列Scala版本陣列佇列
- JavaScript 陣列 length 屬性JavaScript陣列
- 陣列匹配-連線陣列
- Java實現普通二維陣列和稀疏陣列的相互轉換Java陣列
- 資料結構基礎 (程式碼效率優化, 線性表, 棧, 佇列, 陣列,字串,樹和二叉樹,雜湊表)資料結構優化佇列陣列字串二叉樹
- 《程式設計珠璣》程式碼之路13:陣列如何線上性時間內實現多次區間修改程式設計陣列
- php底層原理之陣列實現PHP陣列
- js實現資料結構--陣列JS資料結構陣列
- 7種方法實現陣列去重陣列
- 手動實現ArrayList動態陣列陣列