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);
}
*/