久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费
標題:
C語言線性表的順序存儲結構
[打印本頁]
作者:
qiushuliang
時間:
2023-4-21 14:28
標題:
C語言線性表的順序存儲結構
#include <stdio.h>
#include <stdlib.h>
// 線性表的順序存儲結構
#define ListSize 100
typedef char DataType;
typedef struct{
DataType data[ListSize];
int length;
}SeqList;
SeqList mylist;//global value
//在指定位置插入元素
void InsertList(SeqList *L,int pos,DataType val)
{
int i,q=0;
if(pos<1 || pos>L->length+1) // 假如順序表為 1,2,3,4,5,可以插入的位置是1,2,3,4,5,6
{
printf("position error\n");
return;
}
if(L->length>=ListSize){ //當length=ListSize時,表示順序表已滿
printf("overflow\n");
return;
}
for( i=L->length ;i>=pos;i--){ //當i的位置為1——length+1時需要移動length-i+1
L->data[i]=L->data[i-1];
q++;
}
L->data[pos-1]=val;
printf("循環體執行了%d次,理論上計算值為n-i+1次%d\n",q,L->length-pos+1);
L->length ++;
printf("在順序表中插入新的元素%c在表中%d的位置",val,pos);
}
DataType DeleteList(SeqList *L,int pos)//在順序表L中第i個位置之前插入一個新的元素下
{
int i,q=0;
DataType x;
if(pos<1 || pos>L->length)
{
printf("position error\n");
exit (0); //程序非正常退出,并給一個統一的返回值0,在stdlib.h中有定義
}
x=L->data[pos-1];
/* for(i=pos-1;i+1<L->length ;i++){
q++;
L->data[i]=L->data[i+1];
}
*/
for(i=pos;i<L->length;i++) {
q++;
L->data[i-1]=L->data[i];
}
L->length --;
printf("表中位置%d的元素%c已經被刪除了\n",pos,x);
printf("循環體執行了%d次,理論上計算值為n-i次%d\n",q,L->length+1-pos);
return x;
}
void PrintList(SeqList *L) //打印輸出順序表
{
int i;
for(i=0;i<L->length;i++){
printf("%c,",L->data[i]);
}
printf("\n");
}
//創建一個順序表
CreateList(SeqList *L)
{
int i=0;
L->length=0;
char ch;
ch=getchar();
printf("創建的順序表如下:");
while(ch!='\n'){
L->data[i]=ch;
L->length++;
ch=getchar();
printf("%c,",L->data[i]);
i++;
}
printf("表長length=n=%d\n",L->length);
}
//順序表逆置
void Converts(SeqList *L){
int i;
DataType temp;
for(i=0;i<L->length/2;i++)
{
temp=L->data[i];
L->data[i]=L->data[L->length-1-i];
L->data[L->length-1-i]=temp;
}
return;
}
void MaxMin(SeqList *L,DataType*max,DataType *min,int *k,int *j){
int i;
*max=L->data[0];*min=L->data[0];
*k=*j=0;
for(i=1;i<L->length;i++) {
if(L->data[i]>*max){
*max=L->data[i];*k=i;
}
else if (L->data[i]<*min){
*min=L->data[i];*j=i;
}
}
}
int main()
{
int max=0,min=0,k=0,j=0;
CreateList(&mylist);
InsertList(&mylist,9,'A');
PrintList(&mylist);
DeleteList(&mylist,9);
PrintList(&mylist);
Converts(&mylist);
PrintList(&mylist);
MaxMin(&mylist,&max,&min,&k,&j);
printf("max=%c,min=%c,k=%d,j=%d",max,min,k,j);
return 0;
}
復制代碼
歡迎光臨 (http://www.zg4o1577.cn/bbs/)
Powered by Discuz! X3.1
主站蜘蛛池模板:
亚洲精品一区二区三区在线
|
精品免费视频一区二区
|
欧美日韩一区在线播放
|
亚洲成人中文字幕
|
免费午夜视频在线观看
|
亚洲福利一区
|
国产一区在线免费
|
一区二区欧美在线
|
久久久天天
|
精品一区二区三区不卡
|
在线色网址
|
日本人和亚洲人zjzjhd
|
日韩免费一二三区
|
亚洲成人一区二区
|
久久成人精品视频
|
国产成人精品一区二
|
四虎永久影院
|
色香婷婷
|
国产一区二区三区四区五区加勒比
|
国产免费自拍
|
国产成人精品久久二区二区91
|
伊人一区
|
亚洲成人一区
|
你懂的av
|
亚洲一区二区视频在线播放
|
日韩电影免费在线观看中文字幕
|
超碰520
|
成人av片在线观看
|
在线色网
|
国产精品美女一区二区
|
91一区
|
亚洲韩国精品
|
国产四虎
|
天天爽天天操
|
国产成人精品一区二区三区在线
|
国产在线a视频
|
欧美日韩久久精品
|
国产精品一区二区三区久久久
|
日日日操
|
欧美三级网站
|
本道综合精品
|